使用仅应用程序身份验证构建 Adobe AIR twitter 搜索设备。
https://dev.twitter.com/docs/auth/application-only-auth
我可以正确获取我的不记名令牌,但所有请求都会导致:
HTTP/1.1 401 Unauthorized
content-encoding: gzip
content-length: 86
content-type: application/json; charset=utf-8
date: Wed, 19 Feb 2014 16:08:13 UTC
server: tfe
strict-transport-security: max-age=631138519
{"errors":[{"message":"Invalid or expired token","code":89}]}
那么,它是什么? 无效或过期?
我注意到,在我的不记名令牌的响应标头中,有一个值为
Tue, 31 Mar 1981 05:00:00 GMT
的“过期”标头。
这适用于不记名代币本身吗?
当我们收到此消息时,如何调试带有不记名令牌的请求?
您是否陷入了 https://dev.twitter.com/docs/auth/application-only-auth 流程的第 3 步?
另请参阅常见错误情况,似乎您的令牌无效。
如需进一步帮助,我们建议使用 https://dev.twitter.com/discussions 发布您的问题,我们很少来这里,但每天都会在我们的开发者网站上监控问题。
GET /1.1/search/tweets.json?q=sochi HTTP/1.1
Host: api.twitter.com
Accept-Language: en-us
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/3.9
Accept: */*
Referer: app:/TweetMasher700.swf
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Connection: keep-alive
x-flash-version: 11,9,900,117
Cookie: xxxxxxxxxxxxxxxxxxxxx
Authorization: Bearer xxxxxxxx==
Proxy-Connection: keep-alive
Accept-Encoding: gzip, deflate
我遇到了同样的问题,并且我能够通过这样做解决问题:
consumer_key = "put here your API key"
consumer_secret = "put here your API secret"
access_token = "put here your access token" ##remember to put the "-" that separete your owener ID and your token
access_token_secret = "put here your token secret"
auth = twitter.oauth.OAuth(access_token, access_token_secret, consumer_key, consumer_secret)
将消费者密钥和秘密与令牌访问和秘密分开非常重要,因为很多人混淆了授权和访问令牌,导致 Twitter 平台拒绝您的访问。