我下面的代碼,每次返回一個401未經授權錯誤在這一點上:401未授權使用雅虎的OAuth
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://query.yahooapis.com/v1/yql?q=select%20fields.value%20from%20social.contacts%20where%20guid%3Dme&diagnostics=false");
request.Headers.Add(
"Authorization: OAuth " +
"realm=\"" + "yahooapis.com" + "\"," +
"oauth_consumer_key=\"" + ConfigurationManager.AppSettings["yahoo_oauth_consumer_key"] + "\"," +
"oauth_nonce=\"" + Guid.NewGuid().ToString() + "\"," +
"oauth_signature_method=\"" + "PLAINTEXT" + "\"," +
"oauth_timestamp=\"" + ((DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1).Ticks)/(1000 * 10000)).ToString() + "\"," +
"oauth_token=\"" + accessToken.TokenValue + "\"," +
"oauth_version=\"1.0" + "\"," +
"oauth_signature=\"" + ConfigurationManager.AppSettings["yahoo_oauth_signature"] + "%26" + "\""
);
StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream(), true);
當我步入代碼每次我看到所有的信息是存在的,雅虎要求有在頭,但每次我得到這個401
用於開發,測試和調試目的,您需要從本地主機運行。有一種方法可以做到這一點。您可以將C:\ Windows \ System32 \ drivers \ etc \ hosts文件修改爲指向www.YOUR-DOMAIN.com的127.0.0.1。您可以將C:\替換爲託管Windows操作系統的分區。我相信非Windows操作系統必須有一種替代方法來做同樣的事情。 – 2013-02-23 22:50:07