【发布时间】:2017-02-07 02:13:24
【问题描述】:
我有一个应用程序,它利用了 Twitter API 的许多功能。我已经在一个 Windows 7 系统上测试了该应用程序,并且所有功能都运行良好。
在第二个 Windows 7 系统上测试应用程序,似乎除了公共流和用户流功能之外的所有功能都在工作(即应用程序设法进行身份验证,可以关注/取消关注用户等)。在此系统上,Stream 功能会生成 401 error。据我了解,401 可能表示授权错误(在这种情况下不会发生,因为非流媒体功能可用),或 Twitter 的服务器和客户端系统之间的a difference in time configuration。
我希望我的应用程序的流媒体功能可以跨平台(Windows、Mac、Unix)使用,我不能指望最终用户修改他们系统的时钟配置。在由时间配置问题引起的情况下,任何人都可以推荐一个与系统无关的 Tweepy/python 解决方案来解决 401 错误问题吗?谢谢。
编辑:
在 Stream 功能不起作用的系统上,在手动修改系统时钟后,没有成功,我与 time.windows.com 同步。这对显示的时间没有任何明显的影响(我没有查看秒数),但它解决了问题(即 Twitter 用户和公共流功能可用)。问题仍然存在 - 如何防止最终用户系统出现此类错误?警告用户调整时钟对我来说是不现实的。
【问题讨论】:
-
你确定不是认证错误?刚刚离开 API 文档 Streaming With Tweepy:
API authorization is required to access Twitter streams. -
@downshift 如果是身份验证错误,我不相信我能够使用所有非流媒体功能,因为流媒体和非流媒体功能使用同一组证书。此外,它也无法解释为什么程序可以在一台机器上运行,而不能在另一台机器上运行。
-
我相信您对身份验证要求是正确的,您比我使用api有更好的理解和经验。然而,该程序可以在一个系统上运行,该系统为凭据设置了环境变量,而另一台计算机上没有设置,这就是我问的原因,但很公平,你已经纠正了我。