Back

使用微信公众号实现,发送到腾讯COS。Obsidian 获取到消息。

最新版见 Obsidian 从本地到云端 obcsapi v3.0

!!! 注意 新项目已发布 Obsidian 从本地到云端 obcsapi v3.0
下面文章属于 2.0 版本,新项目是 3.0 版本。请读者根据自身实际情况酌情选择

基础要求

  1. 带公网ip的服务器并装有python3环境
  2. 微信公众号的测试号
  3. 腾讯云 COS

准备数据

  1. 微信公众号测试号APP_ID
  2. 微信公众号测试号APP_SECRET
  3. 腾讯云 secret_id
  4. 腾讯云 secret_key
  5. 腾讯云 COS 相关信息 包括 region,Bucket 名

服务端搭建

  1. 服务器安装依赖模块 pip3 install werobot 和 pip3 install cos-python-sdk-v5
  2. 将准备的数据填写至程序 # 相关信息 中 ,如果想要改服务器端口可以在 robot.config[“PORT”] = “8008” 更改
  3. 开放 Linux 服务器8008端口 ; 开放 腾讯云安全组 8008 端口
  4. 运行程序并挂后台 ,我使用的是 宝塔面板 python 项目管理器 运行的该项目

基本使用

扫码测试号二维码,然后可以看到用户列表中多了一个人。然后就可以发送消息了。

微信公众号样子
微信公众号样子
发送的信息保存到 Obsidian
发送的信息保存到 Obsidian
图片会保存两个文件 一个在附件里 一个是 md
图片会保存两个文件 一个在附件里 一个是 md
配合 dataview 能够显示所有信息
配合 dataview 能够显示所有信息

问题和缺点

  1. 公众号毕竟有公众属性,并不是为个人服务准备的。或许可以使用鉴别用户 id 的方法防止不相干的人关注和发送消息,但是最好的解决方法是使用用户系统。
  2. 上面这个程序有时候会报错,甚至有崩溃过。毕竟只是顺手写的。
  3. 发送图片时,后台能获取到一个图片链接。但是图片会被压缩。
  4. 接收图片以![](https://abc.com/123.jpg)形式保存至 yaml 中时是能被 dataview 显示出来的。但是上面程序选择了保存图片至本地附件文件夹并且使用的是 ![[]]的形式。
  5. 关于 dataview 不会显示 md 中图片这个问题,我尝试了很久,也没解决这个问题。dataview 没有找到显示正文的函数,yaml 显示还有一点问题。如果有人解决了希望 发邮件 告诉我一声,或者通过 哔哩哔哩 联系我,我会在本文中记录。

相关资料

使用的框架文档

werobot说明文档

cos上传文档

公众号搭建可以在 哔哩哔哩网站 搜索 werobot 学习

COS 和 Obsidian 插件 Remotely Save 使用说明: Obsidian 同步 Remotely Save S3 配置指南

[Obcsapi v1] 微信使用 Remotely Save S3 兼容 发送到 Obsidian
https://www.ftls.xyz/posts/wechat2obsidian/
Author 恐咖兵糖
Published at
Copyright CC BY-NC-SA 4.0