Il mio codice di seguito restituisce un errore Unauthorized 401 ogni volta al questo punto:401 non autorizzato utilizzando 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);
E quando faccio un passo nel codice ogni volta che vedo tutte le informazioni è lì che le richieste di Yahoo di avere nell'intestazione, eppure ogni volta ottengo questo 401.
per scopi di sviluppo, test e debug è necessario eseguire da localhost. C'è un modo per farlo. È possibile modificare il file C: \ Windows \ System32 \ drivers \ etc \ hosts in modo che punti 127.0.0.1 a www.YOUR-DOMAIN.com. È possibile sostituire C: \ con qualsiasi partizione che ospita il proprio sistema operativo Windows. Sono sicuro che OS non Windows deve avere un modo alternativo per fare la stessa cosa. –