【问题标题】:Authentication for twitter API and Rest Calltwitter API 和 Rest Call 的身份验证
【发布时间】:2012-10-19 14:54:37
【问题描述】:
我一直在使用 FB api 进行一些简单的演示,并且通过身份验证一切都很容易。现在我必须用 twitter v1.1 做一些类似的事情,但有些事情我真的不明白......
示例:
我想做这个请求:
https://api.twitter.com/1.1/search/tweets.json?q=q=%23freebandnames
问题是我必须经过身份验证,有人有一些例子吗?我不想创建 twitter 连接,因为我不需要不同的用户连接到我的应用程序。我只需执行一些简单的搜索请求,但我不明白如何使用身份验证参数。为了执行经过身份验证的 REST 请求,我必须使用哪种类型的 Ajax 请求??? (显然我有我的秘密令牌和我的访问秘密令牌)但是如何使用它们????
提前感谢您的回答
【问题讨论】:
标签:
rest
twitter
twitter-oauth
【解决方案1】:
您可以使用此 javascript 库:codebird-js 与“仅应用程序身份验证”。
或
自己动手:the documentation 中解释了一切。
基本上您需要执行 3 个步骤(并且您应该先执行 2 个步骤):
- 应用程序将其使用者密钥和秘密编码到一组经过特殊编码的凭据中。
- 应用程序向 POST oauth2/token 端点发出请求,以将这些凭据交换为不记名令牌。
- 在访问 REST API 时,应用程序使用不记名令牌进行身份验证。
文档中详细说明了这些步骤。
您可以单独执行前 2 个操作,当您获得不记名令牌时,您需要在每个请求中使用不记名令牌添加特定的 HTTP 标头(授权)(这是第三步)。使用 jQuery 可能是这样的:
$.ajax({
headers: { Authorization: 'Bearer '+$my_bearer_token },
url: 'https://api.twitter.com/1.1/search/tweets.json?q='+$search
}).done(function (data) {
// Play with the data
});