Autor Beitrag
iceman_11
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 10.06.14 21:32 
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:

ausblenden volle Höhe C#-Quelltext
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();
            // the URL to obtain a temporary "request token"
            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);
            //System.Diagnostics.Process.Start(url);
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            string url = webBrowser1.Url.ToString();

            if (url.Contains("authorized=true"))
            {
                var divMarker = "id=\"verifier\""// the div for twitter's oauth pin
                var index = webBrowser1.DocumentText.LastIndexOf(divMarker) + divMarker.Length;
                var pin = webBrowser1.DocumentText.Substring(index+14);
                //var snip = webBrowser1.DocumentText.Substring(index);
                //var pin = Regex.Replace(snip, "(?s)[^0-9]*([0-9]+).*", "$1").Trim();
                Console.WriteLine(pin);
                //webBrowser1.Visible = false; // all done with the web UI
                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:

ausblenden C#-Quelltext
1:
using (var response = (HttpWebResponse)request.GetResponse())					


Danke im Voraus.


MfG

iceman_11


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Mi 11.06.2014 um 09:17