ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
573
573
EMPFEHLEN
-
Hey Leute!
ich möchte meiner C#-Anwendung die Funktion, den Twitter Status zu updaten, hinzufügen. Dafür habe ich bereits das Autorisierungsverfahren(OAuth) in mein Programm integriert. Dies funktioniert soweit auch und ich bekommen den Token und den Secret Token.
Wenn ich jedoch jetzt den Status updaten möchte, erhalte ich den Fehler "401 Unauthorized", obwohl ich den Token mitschicke.
Hier mal den entsprechenden Codeausschnitt:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
//Get OAuth Parameter OAuthBase oauth = new OAuthBase(); string timestamp = oauth.GenerateTimeStamp(); string nonce = oauth.GenerateNonce(); string oauthParameter; string normalizedUrl; string signature = oauth.GenerateSignature(targetUri, _oauthConsumerKey, _oauthConsumerSecret, _twitterToken, _twitterSecretToken, method, timestamp, nonce, out normalizedUrl, out oauthParameter); //Create Request Object HttpWebRequest req = (HttpWebRequest)WebRequest.Create(targetUri); req.Method = "POST"; //Set Autorisation Header StringBuilder headerValue = new StringBuilder(); headerValue.Append("OAuth "); headerValue.Append(Uri.EscapeDataString("oauth_consumer_key") + "=\"" + Uri.EscapeDataString(_oauthConsumerKey) + "\", "); headerValue.Append(Uri.EscapeDataString("oauth_signature_method") + "=\"" + Uri.EscapeDataString(_oauthSignatureMethod) + "\", "); headerValue.Append(Uri.EscapeDataString("oauth_timestamp") + "=\"" + Uri.EscapeDataString(timestamp) + "\", "); headerValue.Append(Uri.EscapeDataString("oauth_version") + "=\"" + Uri.EscapeDataString(_oauthVersion) + "\", "); headerValue.Append(Uri.EscapeDataString("oauth_nonce") + "=\"" + Uri.EscapeDataString(nonce) + "\", "); if (useTokens) headerValue.Append(Uri.EscapeDataString("oauth_token") + "=\"" + Uri.EscapeDataString(_twitterToken) + "\", "); headerValue.Append(Uri.EscapeDataString("oauth_signature") + "=\"" + Uri.EscapeDataString(signature) + "\""); req.Headers.Add("Authorization", headerValue.ToString()); //Get Data Bytes byte[] postBytes = Encoding.ASCII.GetBytes("status=TEST"); req.ContentLength = postBytes.Length; req.ContentType = "application/x-www-form-urlencoded"; //Write Post Data Stream requestStream = req.GetRequestStream(); requestStream.Write(postBytes, 0, postBytes.Length); requestStream.Close(); //Get Response HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Ich benutze dabei die C# OAuth Klasse von Eran Sandler (http://oauth.googlecode.com/svn/code/csharp/).
Ich finde meinen Fehler einfach nicht. Wer kann mir helfen?Geändert von Squizzer (05.02.12 um 14:39 Uhr)
Ähnliche Themen
-
Webservice antwortet in eiinem Einzelfall HTTP-Status 401: Unauthorized
Von cyb3rdragon im Forum .NET Web und KommunikationAntworten: 8Letzter Beitrag: 21.01.09, 19:10 -
Bad header=HTTP/1.0 401 Unauthorized:
Von brenner26 im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 14.07.02, 17:47





Zitieren
Login





