关注

自从 m.gretaoto.ca 提供跨站关注 Twitter 用户的功能以后,正在考虑添加跨站关注 Instagram 的功能。不知道有没有人感兴趣,欢迎转发、收藏

· SubwayTooter · 3 · 11 · 7

接前文:

关于给 m.gretaoto.ca 实例添加跨站关注 Instagram 的功能,大概思路是这样的:

暂时不考虑 instagram 的 api,因为新一代 graph api 需要 instagram business account,而且功能有限。 Graph Api 的用户群更像是需要做PR,打广告的品牌商。

既然不用 API,那么就需要直接获取 Instagram 页面的内容了。在这里考虑用 rss-bridge github.com/RSS-Bridge/rss-brid instagram profile 输出成 RSS 或者 json 格式。

接着再让 gretaoto 的 sidekiq worker 按照固定的频率(暂定每30分钟一次)访问 rss-bridge 提供的 RSS 链接,把 instagram 关注对象的图文下载下来,变成嘟文

显示全部对话

上一篇嘟文,我们大致列出了在m.gretatoto.ca mastodon 站上添加跨站关注 instagram 功能的思路。今天就在线实现下这个功能

显示全部对话

首先需要 rss-bridge 这个工具,github.com/RSS-Bridge/rss-brid

架设起来后,rss-bridge 可以自动把 instagram posts 生成 RSS Feed

这样 mastodon-gretaoto 就可以很方便的读取更新内容。

比较蛋疼的是我们的开发环境是 Fedora 32,但是 m.gretaoto.ca 的部署环境是 ubuntu focal,所以我们部署这一部分得做两次,每次都有点不一样。

在 Fedora 开发环境用 docker 容器部署 rss-bridge,在 m.gretaoto.ca 会直接部署在 bare metal + nginx 上。

显示全部对话

我们跟着官方 wiki 的教程 github.com/RSS-Bridge/rss-brid

这时 whitelist.txt 要包含 "Instagram"

部署完成后,我们可以添加一个 instagram id 到 rss-brdige

显示全部对话

现在我们知道 Rss-bridge 能用以后,可以开始下一步魔改 mastodon 代码来添加 instagram 跨站关注功能。

生产环境部署时要注意屏蔽外网用户访问 rss-bridge 的功能,这个我们到时候再做。

下一步,我们给 gretaoto 管理跨站关注页面添加新增 instagram 用户关注的 UI

显示全部对话

我们还需要给 Instagram Post 建个 model, 做去重,保证 gretaoto 不会重复发同样的嘟文

显示全部对话

最后一步是建立一个新的 Sidekiq schedule worker,每30分钟自动同步所有Instagram跨站关注的新帖

显示全部对话
@xiamx 有,还有RSS,所以配合rsshub微博也能弄过来

@vicdorke 我之前的想法是通过rss-hub等其他工具的加成,给gretaoto 提供其他站点的原生支持,这样的话头像,简介,背景图都可以很好得支持。
其中,内容上来说,微博,知乎,bilibili都是不错的选择。不过前者在内容监管上问题很多,后两个文体都有些特色,不知道到时候local timeline会变成什么样子😂

@xiamx 本来就不可能完美兼容,可以把文字链接,图片拉个差不多就行了。建议直接支持RSS这样可以直接替代RSS阅读器,就像friendica一样了。friendica主要是没有好的ios客户端支持。
登录以加入对话
O3O

欢迎来到o3o(嘟站)!在这里,你可以通过发布“嘟嘟”来吐槽一切、摸鱼扯皮。无论你的兴趣点是什么,我们欢迎任何热情、友好、乐于分享的朋友们加入。请遵循互相尊重的原则,并遵守《O3O主题或发言规则》。请参阅《长毛象中文用户使用文档》了解如何使用长毛象。