目录
前言
浮墨笔记(Flomo)是一款简洁的卡片式笔记应用,主打"记录碎片化知识和灵感"。我用了一阵子,感觉确实不错,但有个痛点一直没解决------没有批量导入功能。
每次想把整理好的Markdown笔记导入浮墨,只能一条一条手动复制粘贴,几十条笔记能搞半小时。
于是我就想,浮墨应该有API吧?查了一下,还真有。于是用 AI 写了个Python脚本,现在导入笔记一条命令搞定。
本文你将了解:如何获取浮墨API地址、Python调用浮墨API推送笔记、批量导入Markdown文件
效果展示
先看效果,一条命令,笔记直接到浮墨:

手机APP同步收到:

获取Flomo API
浮墨的API很简洁,就是一个POST请求的地址。
第一步:打开浮墨APP,进入设置

第二步:找到"API"选项,复制你的专属地址

复制出来的地址长这样:
Text
https://flomoapp.com/iwh/xxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
注意:这个地址包含你的专属token,千万别泄露! 不要传到GitHub、博客等公开地方。
API原理分析
在写代码之前,先了解一下浮墨API是怎么工作的。
根据官方文档,推送接口非常简单:
Text
POST https://flomoapp.com/iwh/你的token/
Content-Type: application/json
{
"content": "要推送的内容",
"content_type": "markdown"
}
参数说明:
content:笔记内容,支持Markdown格式content_type:固定填markdown
就这么简单,一个POST请求就完事了。返回200就是成功,其他状态码就是失败。
Python实现
环境准备
需要Python 3.x和requests库:
bash
pip install requests
完整代码
python
#!/usr/bin/env python3
"""
将Markdown文件内容推送到浮墨笔记
用法: python flomo_push.py <markdown文件路径>
"""
import requests
import sys
from pathlib import Path
# 替换成你自己的API地址
FLomo_URL = "https://flomoapp.com/iwh/Mjgx***/164a6b******250/"
def push_to_flomo(content: str) -> bool:
"""推送内容到浮墨笔记"""
headers = {"Content-Type": "application/json"}
data = {"content": content, "content_type": "markdown"}
try:
response = requests.post(FLomo_URL, headers=headers, json=data)
response.raise_for_status()
return True
except requests.RequestException as e:
print(f"推送失败: {e}")
return False
def main():
# 检查参数
if len(sys.argv) < 2:
print("用法: python flomo_push.py <markdown文件路径>")
print("示例: python flomo_push.py my_notes.md")
sys.exit(1)
file_path = Path(sys.argv[1])
# 检查文件是否存在
if not file_path.exists():
print(f"文件不存在: {file_path}")
sys.exit(1)
# 读取文件内容
try:
content = file_path.read_text(encoding="utf-8")
except UnicodeDecodeError:
print(f"文件编码错误,请确保文件为UTF-8编码: {file_path}")
sys.exit(1)
# 推送
if push_to_flomo(content):
print("推送成功!")
if __name__ == "__main__":
main()
代码解析
1. API地址配置
python
FLomo_URL = "https://flomoapp.com/iwh/你的token/"
把第一步复制的地址粘贴到这里。
2. 发送请求
python
headers = {"Content-Type": "application/json"}
data = {"content": content, "content_type": "markdown"}
response = requests.post(FLomo_URL, headers=headers, json=data)
标准的POST请求,headers声明是JSON格式,data是要推送的内容。
3. 错误处理
python
try:
response = requests.post(...)
response.raise_for_status() # 如果状态码不是200,抛出异常
return True
except requests.RequestException as e:
print(f"推送失败: {e}")
return False
网络异常、API地址错误、token失效等问题都会被捕获。
使用方法
基础用法
bash
python flomo_push.py your_notes.md
批量推送
如果要推送多个文件,可以写个简单的循环:
bash
# Windows CMD
for %f in (*.md) do python flomo_push.py "%f"
# PowerShell
Get-ChildItem *.md | ForEach-Object { python flomo_push.py $_.FullName }
# Linux / macOS
for f in *.md; do python flomo_push.py "$f"; done
结合Git Hook自动推送
如果你用Git管理笔记,可以设置commit后自动推送:
bash
# .git/hooks/post-commit
#!/bin/bash
python /path/to/flomo_push.py /path/to/latest_note.md
常见问题
Q1: API是免费的吗?需要会员吗?
需要Pro会员才能使用开发者API。 这是浮墨的付费功能,免费用户无法使用API推送。
另外,如果你对MCP(Model Context Protocol)感兴趣,那是Max会员的功能,等级更高。
建议 :先在浮墨APP的 设置 → API 页面看看,如果你没有API选项,说明还不是Pro会员。
Q2: 推送成功,但浮墨里没收到
原因:API地址填错了,或者token过期。
解决:
- 重新复制API地址
- 确认地址格式正确,末尾有
/
Q3: 推送内容被截断
原因:单次推送内容太长。
解决:浮墨单条笔记有长度限制,建议控制在5000字以内。超长内容可以拆分成多条。
其它用法
添加标签
在Markdown内容开头添加标签,推送到浮墨后会自动识别:
markdown
#Python 学习笔记
今天学习了requests库的使用方法...
添加来源链接
可以记录笔记来源,方便回溯:
markdown
学习了Python requests库 #学习
参考:https://docs.python-requests.org
笔记内容...
这个脚本虽然简单,但确实解决了我的实际问题。现在导入笔记方便多了,不用再一条一条复制粘贴。