我正在我的网站上集成“使用Twitter帐户登录”功能。
所以,我发送请求到https://twitter.com/oauth/request_token,获取令牌,重定向到https://twitter.com/oauth/authenticate?oauth_token =%oauth_token%
然后我收到了oauth_token和oauth_verifier
的回电这很好。
但是我需要调用https://api.twitter.com/1/account/verify_credentials.json来获取授权的客户端详细信息
我发送:
GET https ://api.twitter.com/1/account/verify_credentials.json
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: q=0.8,en-us;q=0.5,en;q=0.3
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
X-Auth-Service-Provider: https ://api.twitter.com/1/account/verify_credentials.json
X-Verify-Credentials-Authorization: OAuth realm="http://api.twitter.com/", oauth_signature="acYFjEgUrTcyb4FMBoJF8MlwZGw%3D", oauth_timestamp="1286899670", oauth_consumer_key="%CONSUMER_KEY%", oauth_nonce="268310006", oauth_token="%oauth_token%", oauth_version="1.0", oauth_signature_method="HMAC-SHA1"
%oauth_token% - token got when twitter redirects me back the cleint
%CONSUMER_KEY% - my twitter account's consumer key
回来
HTTP/1.1 401 Unauthorized
Cache-Control: no-cache, max-age=300
Connection: close
Date: Tue, 12 Oct 2010 16:07:45 GMT
Server: hi
Vary: Accept-Encoding
WWW-Authenticate: Basic realm="Twitter API"
{"error":"Could not authenticate you.","request":"/1/account/verify_credentials.json"}
任何人都可以告诉我这里有什么问题吗?
谢谢!
答案 0 :(得分:3)
收到回调后,您必须向POST oauth/access_token发出请求以交换临时request_token以获取与该用户关联的永久access_token。收到access_token后,您可以执行GET account/verify_credentials请求。
答案 1 :(得分:0)
答案 2 :(得分:0)
您正在使用标头来传递参数(X-Verify-Credentials-Authorization),而应使用 GET方法。如果您使用的是php Zend框架的OAuth组件,那么它应该看起来像
$client->setMethod(Zend_Http_Client::GET);