HTTP Shortcuts 的思路:把一次 HTTP 请求做成安卓桌面按钮或分享菜单入口。配置好以后,可以点一下弹窗输入,也可以复制文字后一键保存,还可以从浏览器、阅读器等 App 直接分享到 Memos。
接下来步骤可以实现 HTTP Shortcuts 做出“手动记到 Memos”“剪贴板到 Memos”“分享到 Memos”三个入口。
准备工作
第一步,在安卓手机安装 HTTP Shortcuts,应用是开源免费的。
官网:
https://http-shortcuts.rmy.ch/
GitHub:
https://github.com/Waboodoo/HTTP-Shortcuts第二步,在 Memos 里创建访问令牌。打开 Memos,进入账号设置,找到 Access Tokens 或“访问令牌”,创建一个 Token。
三个快捷方式的区别
| 快捷方式 | 适合场景 | 使用方式 |
|---|---|---|
| 手动记到 Memos | 灵感、日记、临时想法、待办 | 点桌面按钮,弹窗输入内容 |
| 剪贴板到 Memos | 复制网页文字、短句、普通文本 | 先复制,再点按钮保存 |
| 分享到 Memos | 浏览器、阅读器、支持系统分享的 App | 选中文字,点分享,选择快捷方式 |
进入 TTP Shortcuts APP 配置
1、常量变量
右上角三点选变量新建常量
名称:request_body
值:test2、选项变量
新建选项变量
名称:memo_visibility
添加三个选项:
1.标签:私密 值:PRIVATE
2.标签:公开 值:PUBLIC
3.标签:工作区 值:PROTECTED3、剪贴板内容变量
新建剪贴板内容变量
名称:clip一、手动记到 Memos
点一下按钮,弹出输入框,输入内容后选择私密、工作区或公开,再保存到 Memos。
设置方法
- 新建快捷方式(从头创建),名称写
手动记到 Memos。 - 基本设置 - 方法
POST- URL 填https://你的Memos域名/api/v1/memos。 请求头 两个
Authorization: Bearer 你的MemosToken Content-Type: application/json `Bearer` 后面有一个空格,不要漏掉。请求体/请求参数
自定义类型 类型:text/plain 点正文的{}符号插入:{request_body}脚本编写,
在执行前运行里粘贴下面脚本。let text = prompt("输入要记录到 Memos 的内容", "", { multiline: true }); if (text === null) { showToast("已取消"); throw new Error("用户取消输入"); } text = text.trim(); if (!text) { showToast("内容为空,已取消"); throw new Error("内容为空"); } const visibility = getVariable("memo_visibility") || "PRIVATE"; setVariable("request_body", JSON.stringify({ state: "NORMAL", content: text, visibility: visibility }));
这里有一个细节:如果不小心点开弹窗,又点外面关闭,prompt() 会返回 null。脚本里用 throw new Error() 中止后续请求,就不会保存一条空 memo。
二、剪贴板到 Memos
这个版本适合保存普通复制文本。比如复制网页一段话、复制聊天里的一条消息,然后点按钮直接保存。
设置方法
长按复制一份现有快捷方式,改名为剪贴板到 Memos。
脚本
改 在执行前运行
let text = getVariable("clip") || "";
text = text.trim();
if (!text) {
showToast("剪贴板为空,已取消");
throw new Error("剪贴板为空,取消发送");
}
const visibility = getVariable("memo_visibility") || "PRIVATE";
setVariable("request_body", JSON.stringify({
state: "NORMAL",
content: text,
visibility: visibility
}));三、分享到 Memos
分享版比剪贴板更适合浏览器、阅读器、网页摘录。用法是选中文字,点系统分享,然后选择 HTTP Shortcuts 的“分享记到 Memos”。
新建分享变量
新建常量变量
名称:share_text往下找到高级选项,打开:
勾选 允许“共享” 选 仅文本设置方法
长按复制一份现有快捷方式,改名为分享到 Memos。
脚本
改 在执行前运行
let text = getVariable("share_text") || "";
text = text.trim();
if (!text) {
showToast("没有接收到分享文本,已取消");
throw new Error("分享文本为空,取消发送");
}
const visibility = getVariable("memo_visibility") || "PRIVATE";
setVariable("request_body", JSON.stringify({
state: "NORMAL",
content: text,
visibility: visibility
}));HTTP Shortcuts 支持把分享文本传给变量,也支持把快捷方式放进安卓分享菜单。官方说明可以看这里:
https://http-shortcuts.rmy.ch/advanced#share-text常见问题
为什么复制长文章会报 400
如果直接把多行文字塞进 JSON,换行会破坏 JSON 格式。本文的做法是用 JSON.stringify() 生成完整请求体,可以自动处理换行、引号和特殊字符。
为什么点了取消还会保存空内容
如果脚本没有判断 null 或空字符串,弹窗关闭后仍然会继续发送请求。脚本里的 throw new Error() 就是用来中止发送的。
为什么微信多条聊天记录只保存第一条
微信复制多条消息时,系统剪贴板可能不是一整段纯文本,而是多段数据。HTTP Shortcuts 的剪贴板变量可能只读取第一段。解决方式是用手动输入版弹窗后粘贴,或者如果来源 App 支持系统分享,就用分享版。
🎈能不能直接上传图片和文档
可以研究,但我没研究明白,有没有大佬啊 ~
这套配置的核心不是复杂,而是把高频动作变短:想法出现时,不用找网页,不用等页面加载,不用担心换行报错,点一下就能记到自己的 Memos。
相关文档
Memos Create Memo API:
https://usememos.com/docs/api/latest/memoservice/CreateMemo
HTTP Shortcuts Variables:
https://http-shortcuts.rmy.ch/variables
HTTP Shortcuts Share Text:
https://http-shortcuts.rmy.ch/advanced#share-text