私は oauth 1.0 を使用していますが、今まで Google からアクセス トークンを正常に取得できました。しかし、 https://www.google.com/m8/feeds/contacts/default/fullからユーザーの連絡先を取得したい場合、401 エラーが返され、それ以上の説明はありません。
Google Playground からの情報は実際には正確ではない可能性があることがわかりました。たとえば、手順 3 と手順 5 の署名ベース文字列には oauth_version が含まれていますが、間違っています。(oauth_version を含めると、signature_invalid が返され、oauth_version は含まれません)
これは私の要求です:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sbGetContacts.ToString());
req.Method = "GET";
req.Headers.Add(authHeader);
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
これは私のヘッダーです:
string authHeader = "Authorization: OAuth " +
"oauth_version=" + "\"" + "1.0" + "\"" + "\"," +
"oauth_nonce=" + "\"" + nonce + "\"," +
"oauth_timestamp=" + "\"" + timeStamp + "\"," +
"oauth_consumer_key=" + "\"" + GoogleconsumerKey + "\"," +
"oauth_token=" + "\"" + OauthToken+ "\"," +
"oauth_signature_method=" + "\"" + "HMAC-SHA1" + "\"," +
"oauth_signature=" + "\"" + UpperCaseUrlEncode(sig) + "\"";
誰でも問題を解決する方法を教えてもらえますか?