我的下面的代码每次返回401 Unauthorized错误:
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);
Run Code Online (Sandbox Code Playgroud)
当我每次进入代码时,我看到所有信息都是雅虎请求在标题中,但每次我得到这个401.
好的,首先:
http://www.youtube.com/watch?v=lZLP0siJI-8&feature=lated
其次,解决方案;
不要从本地主机运行它:P
当我在雅虎注册时,我应该更仔细地阅读,我第二次注册只是为了看看,它清楚地说明了您将从哪个域调用我们的 API。