我有一个应用程序需要users/show.json
在公共页面上显示随机用户的关注者数量和关注者()(不需要身份验证)。使用 Twitter API 1.0 这很容易,因为请求不需要身份验证。使用新的 Twitter API 1.1 是不可能的,所以我需要对请求进行身份验证(通过OAuth)。
是否只能“验证”应用程序而不是用户?我的意思是:我可以避免要求用户登录并且只使用应用程序密钥/秘密进行身份验证吗?或者每次我也需要使用用户凭据创建令牌、创建回调等?
对的,这是可能的!如果您的应用程序不需要代表用户执行诸如发布状态或发送直接消息之类的操作,您应该能够使用一组硬编码的 Twitter OAuth凭据检索用户的所有公共信息,并且不需要用户进行身份验证。
如果您不习惯直接使用 Twitter API,那么有许多针对各种语言的优秀 API 包装器——其中包括 Temboo SDK,它会为您提供调用各种方法的代码片段(并且还为您提供安全存储您的 Twitter 凭据的地方,因此您无需将它们烘焙到您的应用程序中)。
看一眼:
(全面披露:我在 Temboo 工作。)
完成您所要求的最简单的方法是使用 Twitter API 1.1 的“仅应用程序身份验证”功能,该功能适用于大部分 API。请参阅仅应用程序身份验证。您可以在get_bearer_token.py中看到它的 Python 示例。
一旦您有了不记名令牌,您只需将其包含在您的请求授权标头中 - 不需要签名。