2011-06-03 41 views
1

編輯:我希望亞伯拉罕是錯誤的,但不幸的是,暫時他是絕對正確的。它不是官方API的一部分。twitter api返回:未授權使用此端點

我正在嘗試使用Twitter API來接受受保護帳戶上的請求。
我已經使用oAuth對自己進行身份驗證,並且所有api端點都按預期工作。
但是當我嘗試使用http://api.twitter.com/1/friendships/accept.json
我得到如下回應:

{"errors":[{"code":37,"message":"Not authorized to use this endpoint"}]} 

是的,它是一個POST端點,而不是一個GET。
必須有解決方法。還有其他一些應用程序可以以某種方式解決這個問題。 請幫忙。
TIA

額外的信息:

我的帖子中看到提琴手:

POST https://api.twitter.com/1/friendships/accept.json HTTP/1.1 
Authorization: OAuth oauth_timestamp="1307086335",oauth_nonce="CxZOu9zk3IqlRMQ3s",oauth_version="1.0",oauth_signature_method="HMAC-SHA1",oauth_consumer_key="hK6dftsut8UgUICrb8d1Yw",oauth_token="304415306-yabqGaJiEOEx8NYGC7qXttoJyEbA7ycQILBKY",oauth_signature="zFtCNYzOU8XbVVHAymazkltW4Xs%3D" 
Content-Type: application/x-www-form-urlencoded 
Host: api.twitter.com 
Content-Length: 16 
Connection: Keep-Alive 

user_id=45807474 

這裏是Twitter的由小提琴手所捕獲:

POST http://api.twitter.com/1/friendships/accept.json HTTP/1.1 
Host: api.twitter.com 
Proxy-Connection: keep-alive 
Referer: http://api.twitter.com/receiver.html 
Content-Length: 81 
Origin: http://api.twitter.com 
X-Requested-With: XMLHttpRequest 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71 Safari/534.24 
Content-Type: application/x-www-form-urlencoded 
Accept: application/json, text/javascript, */*; q=0.01 
X-Phx: true 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Cookie: guest_id=130451073302552267; __utmz=43838368.1304689370.3.3.utmcsr=mybroadband.co.za|utmccn=(referral)|utmcmd=referral|utmcct=/news/cellular/19383-Android-paid-market-arriving-South-Africa.html; __qca=P0-701205957-1307007945635; original_referer=JbKFAfGwv4RwApvTLqS%2BuSg2nN6n6Sc2FNg%2B%2FJZdApHOHiilCO8gnQ%3D%3D; auth_token=d2f0d92a931cf954727bf6667cf38f48cb1e75f1; twid=u%3D304415306%7CUtwJgOgbvSsO8QsBhX7fM3JpcQ4%3D; twll=l%3D1307013065; external_referer=ZLhHHTiegr9ziOY2WC22JyCEc9mRpioNrN9gRZ8lMqQakz1ge%2BROzRwTTLv60GEo; k=196.33.166.196.1307022588816189; __utma=43838368.1872776221.1299681259.1307079974.1307086527.9; __utmc=43838368; __utmv=43838368.lang%3A%20en; __utmb=43838368.6.10.1307086527; lang=en; _twitter_sess=BAh7DToVaW5fbmV3X3VzZXJfZmxvdzA6CXVzZXJpBEoCJRI6DGNzcmZfaWQi%250AJWM3Zjc4ZTc4NmE0ZDFkZjRlYzEzOTNhM2QyYzkxNjdhOg5yZXR1cm5fdG8i%250AKGh0dHA6Ly90d2l0dGVyLmNvbS9zZXR0aW5ncy9hY2NvdW50OhNwYXNzd29y%250AZF90b2tlbiItZDJmMGQ5MmE5MzFjZjk1NDcyN2JmNjY2N2NmMzhmNDhjYjFl%250ANzVmMToPY3JlYXRlZF9hdGwrCJb7nVAwAToHaWQiJTU4ZmU0OGYzMTM4OWQy%250AMDAwMWE5Y2M5ZjRjZTUzZjM1IgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVy%250AOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--fe9109485afb838e1b09c7425e205f3dea7a23aa 

user_id=45807474&post_authenticity_token=96bc19d60674d226e5a5125995de8748035dea6f 

看來他們有很多標題中有更多詳細信息,它們還傳遞一個變量,稱爲 post_authenticity_token 希望額外的細節能夠在這個問題上提供更多的信息。

回答

2

我遇到了這個問題before這是一個Twitter的API的錯誤。我發現的一個臨時解決方案是切換到https。您還應該使用Twitter的file a bug報告。

更新friendships/accept不是官方的Twitter API方法。我在想Twitter已經實現了它,但他們沒有。你將不得不讓用戶訪問twitter.com授權追隨者。您可以在dev.twitter.com上查看Twitter的支持API方法。

+0

我從其他地方讀取,切換到https做的伎倆,但我試過,它不工作。也許我在做錯誤的POST。 – n4rzul 2011-06-03 07:29:14

+0

'friendships/accpet'不是一種公開的Twitter API方法。我已更新我的答案以反映這一點。 – abraham 2011-06-03 09:13:43

相關問題