mã dưới đây của tôi trả về một lỗi trái phép 401 mỗi lần ở điểm này:401 Unauthorized sử dụng Yahoo 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);
Và khi tôi bước vào mã mỗi khi nhìn thấy tất cả các thông tin là có mà Yahoo yêu cầu phải có trong tiêu đề, tuy nhiên mỗi lần tôi có được điều này 401.
cho mục đích phát triển, thử nghiệm và gỡ lỗi bạn được yêu cầu chạy từ máy chủ cục bộ. Có một cách để làm điều đó. Bạn có thể sửa đổi tệp C: \ Windows \ System32 \ drivers \ etc \ hosts thành 127.0.0.1 thành www.YOUR-DOMAIN.com. Bạn có thể thay thế C: \ bằng phân vùng nào đang lưu trữ hệ điều hành Windows của bạn. Tôi chắc chắn hệ điều hành không phải cửa sổ phải có một cách thay thế để làm điều tương tự. –