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

时间:2017-10-24 16:05:12

标签: twitter oauth

我正在尝试开发一种开源解决方案,该解决方案将部署在Raspberry Pi或类似的SBC上。 RPi部分仅相关,因为它意味着所有代码和应用程​​序资源都需要公开。

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

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

你看到任何优雅的出路吗?

2 个答案:

答案 0 :(得分:1)

事实证明,使用Twitter的任何公共API确实无法干净利落;不是现在,也不是在可预见的未来。令人耳目一新的是,我们确实有一个消极的证据:我也在推特自己的论坛上问过这个问题,我很幸运能够在推特上获得全球首席开发者倡导者Andy Piper的回答。 There you go

答案 1 :(得分:0)

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