Verwenden von WebRequest zum Abrufen von Cookies, um sich automatisch bei Sharepoint Online anzumelden und verschiedene Fehler zu erhalten

Ich folge diesem Tutorial, um mich remote für Sharepoint Online zu authentifizieren, aber ich mache es in C #.

http://allthatjs.com/2012/03/28/remote-authentication-in-sharepoint-online/

Ich kann die SAML problemlos von STS erhalten, aber ich kann dieses Token scheinbar nicht an Sharepoint senden, um die Cookies zum Anmelden zurückzugewinnen. Nachstehend ist mein Code, entschuldigen Sie offensichtliche Fehler, ich bin neu in diesem Bereich !

<code> //Send cookie to SPO. The token is from STS.
        byte[] spbyteArray = Encoding.UTF8.GetBytes(theToken);
        WebRequest sprequest = WebRequest.Create("https://login.microsoftonline.com/login.srf?wa=wsignin1.0&rpsnv=2&ct=1335885737&rver=6.1.6206.0&wp=MBI&wreply=https%3A%2F%2Fcamida.sharepoint.com%2F_forms%2Fdefault.aspx&lc=1033&id=500046&cbcxt=mai&wlidp=1&guest=1");
        sprequest.Method = "POST";
        sprequest.ContentLength = spbyteArray.Length;
        sprequest.ContentType = "application/x-www-form-urlencoded";
        sprequest.Headers.GetType().InvokeMember("ChangeInternal", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, sprequest.Headers, new object[] { "Host", "mydomain.sharepoint.com" });
        Stream spdataStream = sprequest.GetRequestStream();
        spdataStream.Write(spbyteArray, 0, spbyteArray.Length);
        spdataStream.Close();

        //Get response from SPO
        WebResponse spresponse = sprequest.GetResponse();
        spdataStream = spresponse.GetResponseStream();
        StreamReader spreader = new StreamReader(spdataStream);

        // Read the content.
        string spresponseFromServer = spreader.ReadToEnd();
</code>

Wenn ich die URL im Tutorial benutze bekomme ich eine 403 verboten. Die URL, die ich verwende, wird weitergeleitet, wenn ich dazu kommehttp://mydomain.sharepoint.com

Jede Hilfe und Beratung wird sehr geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage