मैं Google buzz पर autopost पर एक वेब ऐप लिख रहा हूं।gdata अज्ञात प्राधिकरण शीर्षलेख
मैंने "ओथ नृत्य" के प्रबंधन के लिए एक सी # लाइब्रेरी लिखी और इसमें ठीक काम करता है, मैं oauth_token और oauth_token_secret प्राप्त कर सकता हूं।
मैंने को मेरे oauth_token और oauth_token_secret को मान्य करने के लिए www.googlecodesamples.com/oauth_playground/ का उपयोग किया और यह ठीक काम करता है। मैंने उपयोगकर्ता की स्ट्रीम प्राप्त करने के लिए का परीक्षण किया और https://www.googleapis.com/buzz/v1/activities/@me/@self का परीक्षण किया।
लेकिन अब
मैं अपने सी # लाइब्रेरी का उपयोग कर भी ऐसा ही करने की कोशिश कर रहा हूँ, लेकिन मैं हमेशा इस त्रुटि मिलती है:
<?xml version="1.0" encoding="UTF-8"?>
<errors xmlns="http://schemas.google.com/g/2005">
<error>
<domain>GData</domain>
<code>invalid</code>
<location type="header">Authorization</location>
<internalReason>Unknown authorization header</internalReason>
</error>
</errors>
मेरे अनुरोध हेडर खेल का मैदान से एक की ही है।
Accept: */*
Content-Type: application/atom+xml
Authorization: OAuth oauth_version="1.0", oauth_nonce="9216320",
oauth_timestamp="1283430867", oauth_consumer_key="www.mysite.com",
oauth_token="1%2FZodlNmPP96GT11vYaWA0y6QoqKLqNqZ8bNmxknZZZc",
oauth_signature_method="HMAC-SHA1",
oauth_signature="Tuu82feKNWa4CxoDUyvtIEVODRA%3D"
GData-Version: 2.0
यहाँ सी # कोड है:
string headAuth = "Authorization: OAuth oauth_version=\"1.0\", oauth_nonce=\"9216320\", oauth_timestamp=\"1283430867\",
oauth_consumer_key=\"www.mysite.com\", oauth_token=
\"1%2FZodlNmPP96GT11vYaWA0y6QoqKLqNqZ8bNmxknZZZc\",
oauth_signature_method=\"HMAC-SHA1\", oauth_signature=
\"Tuu82feKNWa4CxoDUyvtIEVODRA%3D\"";
HttpWebRequest req1 =(HttpWebRequest)HttpWebRequest.Create("https://www.googleapis.com/buzz/v1/activities/@me/@self");
req1.Method = "GET";
req1.Accept = "*/*";
req1.ContentType = "application/atom+xml";
req1.Headers.Add("Authorization", headAuth);
req1.Headers.Add("GData-Version", "2.0");
try
{
HttpWebResponse response1 =(HttpWebResponse)req1.GetResponse();
using (var sr = new StreamReader(response1.GetResponseStream()))
{
string test_1 = sr.ReadToEnd();
}
}
catch (WebException e)
{
Stream objStream = e.Response.GetResponseStream();
StreamReader objStreamReader = new StreamReader(objStream);
string err = objStreamReader.ReadToEnd();
}
क्यों एक ही डेटा यह खेल के मैदान पर ठीक काम करता है और सी # कोड में काम नहीं करता है के साथ? कोई विचार यह कैसे ठीक करें?
धन्यवाद, Stefano
क्या आपने इसे हल किया? क्योंकि मुझे प्रावधान API के साथ एक ही समस्या का सामना करना पड़ रहा है। – JochenJung