Hallöchen,
ich programmier gerade in C# eine OAuth-Lösung für Xing. Allerdungs erhalte ich immer einen Fehler und ich weiß nicht woran das liegt. Hier der Fehler:
In System.Net.WebException ist eine Ausnahme vom Typ "System.dll" aufgetreten, doch wurde diese im Benutzercode nicht verarbeitet. Zusätzliche Informationen: Der Remoteserver hat einen Fehler zurückgegeben: (400) Ungültige Anforderung.
Dazu der Passende 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: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Web; using System.Net; using System.Threading.Tasks; using System.Windows.Forms; using System.Text.RegularExpressions; using OAuth; namespace Social_Connect { public partial class xing : Form { Manager oauth; public xing() { InitializeComponent(); }
private void xing_Load(object sender, EventArgs e) { oauth = new OAuth.Manager(); var rtUrl = "https://api.xing.com/v1/request_token"; oauth["consumer_key"] = "e9511ed63952b53206d8"; oauth["consumer_secret"] = "146c0cc14814bd9e537fa4ba3e8c4efd80b021b7"; oauth.AcquireRequestToken(rtUrl, "POST"); var url = "https://api.xing.com/v1/authorize?oauth_token=" + oauth["token"]; webBrowser1.Url = new Uri(url); }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { string url = webBrowser1.Url.ToString();
if (url.Contains("authorized=true")) { var divMarker = "id=\"verifier\""; var index = webBrowser1.DocumentText.LastIndexOf(divMarker) + divMarker.Length; var pin = webBrowser1.DocumentText.Substring(index+1, 4); Console.WriteLine(pin); oauth.AcquireAccessToken("https://api.xing.com/v1/access_token", "POST", pin); var appurl = "https://api.xing.com/v1/users/me"; var authzHeader = oauth.GenerateAuthzHeader(appurl, "GET"); var request = (HttpWebRequest)WebRequest.Create(appurl); request.Method = "GET"; request.PreAuthenticate = true; request.AllowWriteStreamBuffering = true; request.Headers.Add("Authorization", authzHeader);
using (var response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode != HttpStatusCode.OK) MessageBox.Show("There's been a problem trying to tweet:" + Environment.NewLine + response.StatusDescription); } }
} } } |
Der Bereich spuckt die Fehlermeldung aus:
C#-Quelltext
1:
| using (var response = (HttpWebResponse)request.GetResponse()) |
Danke im Voraus.
MfG
iceman_11
Moderiert von
Th69: Topic aus C# - Die Sprache verschoben am Mi 11.06.2014 um 09:17