Używanie WebRequest do uzyskiwania plików cookie w celu automatycznego logowania się do Sharepoint Online, uzyskiwania różnych błędów

Wykonuję ten samouczek, aby zdalnie uwierzytelnić się w Sharepoint Online, ale robię to w C #.

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

Mogę pobrać SAML z STS bez problemu, ale nie mogę wysłać tego tokena do Sharepoint, aby otrzymać ciasteczka, aby się zalogować. Poniżej znajduje się mój kod, usprawiedliwiający wszelkie rażące błędy, jestem nowy w tym !

<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>

Jeśli użyję adresu URL w samouczku, otrzymam 403 zabronione. Adres URL, którego używam, jest adresem, do którego przekierowuje, gdy do niego docieramhttp://mydomain.sharepoint.com

Każda pomoc i porada są bardzo mile widziane.

questionAnswers(2)

yourAnswerToTheQuestion