Twitter Status Update 401 Unauthorized

Squizzer

Grünschnabel
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:
//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?
 
Zuletzt bearbeitet:
Zurück