5

我有一个应用程序需要users/show.json在公共页面上显示随机用户的关注者数量和关注者()(不需要身份验证)。使用 Twitter API 1.0 这很容易,因为请求不需要身份验证。使用新的 Twitter API 1.1 是不可能的,所以我需要对请求进行身份验证(通过OAuth)。

是否只能“验证”应用程序而不是用户?我的意思是:我可以避免要求用户登录并且只使用应用程序密钥/秘密进行身份验证吗?或者每次我也需要使用用户凭据创建令牌、创建回调等?

4

2 回答 2

8

对的,这是可能的!如果您的应用程序不需要代表用户执行诸如发布状态或发送直接消息之类的操作,您应该能够使用一组硬编码的 Twitter OAuth凭据检索用户的所有公共信息,并且不需要用户进行身份验证。

  • 登录 Twitter 并转到https://dev.twitter.com/apps上的开发人员仪表板
  • 注册一个新的应用程序;申请注册后,查看申请详情。您将看到一个“OAuth 工具”选项卡,您可以在其中找到该应用程序的所有相关 OAuth 值:Consumer Key、Consumer Secret、Access Token 和 Access Token Secret。
  • 使用这些凭据,您将能够向新的 Twitter API 发出请求。

如果您不习惯直接使用 Twitter API,那么有许多针对各种语言的优秀 API 包装器——其中包括 Temboo SDK,它会为您提供调用各种方法的代码片段(并且还为您提供安全存储您的 Twitter 凭据的地方,因此您无需将它们烘焙到您的应用程序中)。

看一眼:

(全面披露:我在 Temboo 工作。)

于 2013-02-07T22:22:05.800 回答
1

完成您所要求的最简单的方法是使用 Twitter API 1.1 的“仅应用程序身份验证”功能,该功能适用​​于大部分 API。请参阅仅应用程序身份验证。您可以在get_bearer_token.py中看到它的 Python 示例。

一旦您有了不记名令牌,您只需将其包含在您的请求授权标头中 - 不需要签名。

于 2013-06-25T04:46:21.123 回答