Twitter的Streaming API可以安全地部署在客户端吗?



我正在尝试开发一个开源解决方案,该解决方案将部署在Raspberry Pi或类似的SBC上。RPi部分只有在意味着所有代码和应用程序资源都需要公开的情况下才有意义。

该解决方案需要读取Twitter状态,尽可能接近实时,并且尽可能少地受到第三方的干扰。我找到了Twitter的Streaming API,它速度极快,非常适合我的应用程序——但它需要OAuth。据我所知,OAuth机制不太适合部署在用户的机器上,因为它依赖于属于应用程序所有者的密钥(消费者密钥)。

我找不到任何简单的方法来解决这个问题——我能想到的唯一解决方案要么是在中央服务器上处理请求签名,要么要求每个用户创建自己的推特应用程序帐户。我发现这两种解决方案都非常令人反感。

你看到什么优雅的出路了吗?

事实证明,这在Twitter的任何公共API中都是不可行的;现在不行,在可预见的未来也不行。令人耳目一新的是,这一次我们确实有了否定的证据:我也在推特自己的论坛上问过这个问题,我很幸运地得到了推特全球首席开发者倡导者Andy Piper的友好回答。给你。

您的应用程序可以在加载了Twitter应用程序验证网页的情况下打开web浏览器。当用户输入他们的凭据时,Twitter将返回一个代码,他们可以将该代码复制/粘贴到您的应用程序中。它不是特别优雅。以下是工作流的Python示例:https://github.com/geduldig/TwitterAPI/blob/master/examples/oauth_test.py

最新更新