我的稍后阅读工具:Notion

2024-02-24 11:08:29 79点赞 781收藏 93评论

背景

Notion:all in one

我习惯将资料统一归档到Notion,因此在手机微信公众号内容作为稍后阅读保存到Notion就比较麻烦,需要文章链接,再打开Notion,再打开到对应的Datebase,新建一条数据,编辑标题,并粘贴链接。

框架介绍

我的稍后阅读工具:Notion
  1. iOS/Android 复制网页链接,通过快捷指令/ Automate发送给Worker

  2. Worker收到链接后,获取链接地址的文章标题,将标题及URL通过Notion API保存到指定的Datebase

服务端搭建

Notion API

<#&!15#&!>创建Notion Integration及获取Notion API key
  1. Integration 页面点击「Create new integration」可以创建Integration ;

  2. 填写workspaceName,点击「Submit」;

  3. 在Secrets页面,点击「Show」,即可复制获取Notion API key。

授权 Notion Integration

  1. 点击 Datebase 右上角的「…」;

  2. 再点击「Connect to」;

  3. 选择你的 Integration Name。

CF Worker

  1. 在左侧导航栏中选择「Workers 和 Pages」;

  2. 点击「创建应用程序」;

  3. 点击「创建Worker」;

  4. 填写名称「notion」,点击部署;

  5. 点击编辑代码;

  6. 删除所有代码,粘贴以下代码,并在sendToNotion函数中修改3个地方,

    1. database_id :网页端打开对应的Database,查看网页链接,在「?v=」后的32个字符就是database_id ;

    2. Authorization:之前Integration中获得的Notion API key,以secret_开头;

    3. properties:属性结构则需跟你的Database结构一致,通过postman发送get命令获取你的Database结构,修改相应内容。或者依据我的Datebase复制建立(链接),则不需要修改;

我的稍后阅读工具:Notion

addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { if (request.method !== 'GET') { return new Response('Only GET requests are allowed.', { status: 405 }) } // 从请求的 URL 中获取要获取标题的 URL const url = new URL(request.url) const targetUrl = url.searchParams.get('url') console.log(targetUrl) // 如果 URL 为空,则返回错误 if (!targetUrl) { return new Response('URL parameter is missing.', { status: 400 }) } try { // 发起对目标 URL 的 GET 请求 const response = await fetch(targetUrl) if (!response.ok) { throw new Error('Failed to fetch URL: ' + response.status) } // 从响应中提取 HTML 内容 const html = await response.text() // 从 HTML 中提取标题 const titleMatch = html.match(/(.*?)/i) let title = titleMatch ? titleMatch[1] : 'Title not found' //微信公众号获取标题 if (!title) { const ogTitleMatch = html.match(//i) title = ogTitleMatch ? ogTitleMatch[1] : null } console.log(title) // 将标题发送到 Notion API await sendToNotion(title, targetUrl) // 返回标题 return new Response(title, { status: 200 }) } catch (error) { // 处理异常情况 return new Response('Error fetching URL.', { status: 500 }) } } async function sendToNotion(title, url) { try { const newData = { parent: { // database_id: "YOUR_DATABASE_ID" "database_id": "XXXXXXXXX" }, "properties": { "order": { "checkbox": false }, "URL": { "url": url }, "Tags": { "multi_select": [] }, "Name": { "title": [ { "text": { "content": title } } ] } }, "children": [ { "object": "block", "bookmark": { "caption": [], "url": url } } ] } const notionApiUrl = 'https://api.notion.com/v1/pages' // 发送 POST 请求到 Notion API const response = await fetch(notionApiUrl, { method: 'POST', headers: { // 'Authorization': 'Bearer YOUR_NOTION_API_KEY', 'Authorization': 'Bearer secret_*******************', 'Content-Type': 'application/json', 'Notion-Version': '2022-06-28' }, body: JSON.stringify(newData) }) // 返回 Notion API 的响应 console.log(response) return response } catch (error) { // 处理错误情况 return new Response('Error occurred: ' + error.message, { status: 500 }) } } ```

7.点击「保存并部署」;

8.获取Worker的API地址(建议增加自己域名镜像绑定,自行搜索);

9.在浏览器中输入API地址加url参数即可实现在在Datebase中添加网页标题及URL,eg: https://notion.xxxxxx.workers.dev/?url=https://www.baidu.com

我的稍后阅读工具:Notion

Turning:使用postman进行调试

Notion | Postman API Network

客户端使用

iOS(快捷指令)

  1. 获取快捷指令,链接

  2. 修改Worker链接

  3. 在负一屏增加快捷指令

我的稍后阅读工具:Notion

Android(Automate)

  1. 获取指令,链接

  2. 修改Worker链接

  3. 在下拉通知栏添加快捷菜单

我的稍后阅读工具:Notion我的稍后阅读工具:Notion
展开 收起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

239元起

自助挂号应用服务

自助挂号应用服务

15000元起

Microsoft 微软 Office2016小型企业版 MAC专用

Microsoft 微软 Office2016小型企业版 MAC专用

149元起

SANGFOR 深信服科技 存储虚拟化双活软件V6.0

SANGFOR 深信服科技 存储虚拟化双活软件V6.0

29000元起

Microsoft 微软 365家庭版个人版正版密钥Office365永久激活2021Mac

Microsoft 微软 365家庭版个人版正版密钥Office365永久激活2021Mac

暂无报价

猎寻 手机信息采集系统1.0 -ZK5000(手机快速点验/手机检查仪)

猎寻 手机信息采集系统1.0 -ZK5000(手机快速点验/手机检查仪)

38800元起

黑马校对软件v22.0国产化平台服务器版6亿字技术支持私有化部署服务

黑马校对软件v22.0国产化平台服务器版6亿字技术支持私有化部署服务

170000元起

京东 金山麒麟WPS办公软件V11

京东 金山麒麟WPS办公软件V11

暂无报价

Microsoft 微软 MAC专用办公软件office2019永久版

Microsoft 微软 MAC专用办公软件office2019永久版

269元起

华三(H3C) SecPath F100-BAS AV 防病毒 License,3年

华三(H3C) SecPath F100-BAS AV 防病毒 License,3年

6904元起

卡巴斯基(kaspersky)网络解决方案中小企业版杀毒软件1服务器10台PC三年升级

卡巴斯基(kaspersky)网络解决方案中小企业版杀毒软件1服务器10台PC三年升级

3990元起

Microsoft 微软 OfficePLUS 订阅会员

Microsoft 微软 OfficePLUS 订阅会员

9.9元起

Nintendo 任天堂 Switch游戏卡带《大航海时代4 威力加强版 HD》 中文

Nintendo 任天堂 Switch游戏卡带《大航海时代4 威力加强版 HD》 中文

196元起
93评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
781
扫一下,分享更方便,购买更轻松