J'ai réussi à obtenir le jeton d'accès pour l'API Contacts de Google, mais lorsque j'essaye de passer un appel pour récupérer le profil de l'utilisateur connecté, j'obtiens une erreur 401 non autorisée. .API Google Contacts - Après avoir obtenu le jeton d'accès (oauth)
Je l'ai fait quelques recherches et suivi les étapes mentionnées dans « divers » google documentation (comme this one et this one et bien d'autres), mais sans utilisation ...
Je pense que ce jour je signe la demande faux. Voici ce que je fais après avoir obtenu le jeton d'accès.
string outUrl,querystring;
string sig = oAuth.GenerateSignature(new Uri("https://www.google.com/m8/feeds/contacts/default/full"), Server.UrlEncode(oAuth.ConsumerKey), oAuth.ConsumerSecret, oAuth.Token, null, "GET", timeStamp, nonce, out outUrl, out querystring);
string reqURL = "https://www.google.com/m8/feeds/contacts/default/full?access_token=" + oAuth.Token + "&oauth_signature_method=HMAC-SHA1&oauth_signature=" + Server.UrlEncode(sig) + "&oauth_consumer_key=" + oAuth.ConsumerKey + "&oauth_timestamp=" + timeStamp + "&oauth_nonce=" + nonce + "&oauth_version=1.0";
response = oAuth.WebRequest(oAuthGoogle.Method.GET, reqURL, String.Empty);
L'erreur 401 apparaît lorsque envoyer la demande à l'aide oAuth.WebRequest() (la dernière ligne du code ci-dessus)
J'ai juste besoin de se débarrasser de l'erreur 401 ... Je suis en utilisant ASP.NET/C#. Toute aide serait appréciée. Merci ...
Je suis désolé, 9 heures de travail m'ont brouillé la tête un peu. J'utilise reqURL dans le WebRequest. Je vais éditer ma question pour la corriger merci de l'avoir signalé. Je vais essayer de fournir les paramètres dans l'en-tête d'autorisation et voir ce qui se passe. Ceci est déroutant pour moi parce que j'ai déjà fait twitter, Yahoo, LIVE, et beaucoup d'autres et tout ce que je devais faire pour obtenir une réponse est http (s): // RequestURL /? Access_token = _ACCESS_TOKEN_ et cela fonctionnerait. Je vais essayer votre suggestion, merci. – Reyno
Merci, ça l'a fait pour moi. Après avoir regardé votre code, j'ai réalisé comment envoyer la requête avec l'en-tête d'autorisation plutôt que de l'envoyer avec une chaîne de requête. Merci beaucoup! – Reyno