我有一個應用程序允許用戶授權我的應用程序,以便它使用Twitters REST Api。這個過程可以正常工作,但是當我嘗試執行GET請求來搜索散列標籤時,這一切都會崩潰。我正在使用的文檔如下https://dev.twitter.com/docs/api/1.1/get/search/tweets使用Twitter API時出現401錯誤用戶/搜索
因此,首先我檢查了我的簽名庫針對Twitter的生成一個。
礦
GET&https%3A%2F%2Fapi.twitter.com%2F1.1%2Fsearch%2Ftweets.json&oauth_consumer_key%3Dik7trnFwjZ1aoQBajjLv9A%26oauth_nonce%3D500199554%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1360688610%26oauth_token%3D932308590-5KAmpqMDIOC9tcrhVSfwCxMz0ye8BXmhKSQyPb97%26oauth_version%3D1.0%26q%3D%2523ireland
Twitter的
GET&https%3A%2F%2Fapi.twitter.com%2F1.1%2Fsearch%2Ftweets.json&oauth_consumer_key%3Dik7trnFwjZ1aoQBajjLv9A%26oauth_nonce%3D8522ba23a34a6748d7bd6e2e5b68c56f%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1360681312%26oauth_token%3D932308590-5KAmpqMDIOC9tcrhVSfwCxMz0ye8BXmhKSQyPb97%26oauth_version%3D1.0%26q%3D%2523ireland
那些似乎與所產生的隨機數(不知道這是問題)唯一的區別相當類似。現在有一兩件事,我在此發現奇怪的是,該請求是
https://api.twitter.com/1.1/search/tweets.json?q=%23ireland
但從看着從Twitter的OAuth的工具,我不得不刪除簽名基地?從生成Signuatre Base時的請求看起來很奇怪。
接下來是我的授權頭
礦
Authorization: OAuth oauth_consumer_key="ik7trnFwjZ1aoQBajjLv9A", oauth_nonce="500199554", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1360688610", oauth_token="932308590-5KAmpqMDIOC9tcrhVSfwCxMz0ye8BXmhKSQyPb97", oauth_version="1.0", oauth_signature="aSytUd6HrwAzzAzDyP%2FMqL2qNCE%3D"
Twitter的
Authorization: OAuth oauth_consumer_key="ik7trnFwjZ1aoQBajjLv9A", oauth_nonce="8522ba23a34a6748d7bd6e2e5b68c56f", oauth_signature="bw0My7Z3ESXDOjsTLYgbTIjGi6s%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1360681312", oauth_token="932308590-5KAmpqMDIOC9tcrhVSfwCxMz0ye8BXmhKSQyPb97", oauth_version="1.0"
在這唯一的區別是,我的簽名的順序卻不同我沒有看到任何文件這表明它必須完美匹配。
所以最後設置我的實際要求這簡直是
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Headers["Authorization"] = headers;
HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
當URL是上面提到的URL。當我的方法運行時,我得到一個401響應
[System.Net.WebException] = {"The remote server returned an error: (401) Unauthorized."}
任何人在我的執行發現任何錯誤或我可能錯過了什麼嗎?
同樣的問題在這裏。所有其他1.1端點對我來說沒有問題,但不是搜索端點。我絕對無能爲力。 – whitebrow 2013-02-25 03:11:28