Google OAuth2.0 - Windows phone 7 - PullRequest
       0

Google OAuth2.0 - Windows phone 7

1 голос
/ 04 ноября 2011

Эксперты,

Я новичок в OAuth,

Я пишу небольшое приложение в Windows Phone 7, я использую OAuth2 для контактов Google, мне нужно получитьAPI начального URL (1) для получения токена

1) https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.google.com/m8/feeds/&redirect_uri=REDIRECT_URI&client_id=CLIENT_ID&hl=en-US&from_login=1&as=NEW_AS&pli=1

Я получил код успеха, и когда я пытаюсь использовать этот https://www.google.com/m8/feeds/contacts/default/full?access_token=TOKEN_CODE, но яЯ получаю обратно ошибку 401,

Подскажите, пожалуйста, какую ошибку я совершаю.

Я взял пример Twitter OAuth за основу и выполняю модификации.

КОД

        var uri = new Uri(url);
        var request = BuildOAuthWebRequest(url, null);
        MakeGetRequest(callback, request);   



    private static HttpWebRequest BuildOAuthWebRequest( string url, string realm)
    {
        var header = new StringBuilder();
         var request = (HttpWebRequest)WebRequest.Create(url);
       return request;
    }
    private static void MakeGetRequest(EventHandler<OAuthEventArgs> callback, HttpWebRequest request)
    {
        var asyncState = request.BeginGetResponse(new AsyncCallback((asyncRes) =>
        {
            HttpWebResponse response = null;

            try
            {
                //request has returned
                response = (HttpWebResponse)request.EndGetResponse(asyncRes);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    using (StreamReader sr = new StreamReader(response.GetResponseStream()))
                    {
                        var token = sr.ReadToEnd();
                        callback(null, new OAuthEventArgs() { Response = token });
                    }
                }
            }
            catch (WebException we)
            {
                string t = new StreamReader(we.Response.GetResponseStream()).ReadToEnd();
                callback(null, new OAuthEventArgs() { Error = we, ErrorMessage = t, IsError = true });
            }
            catch (Exception e)
            {
                callback(null, new OAuthEventArgs() { Error = e, ErrorMessage = e.Message, IsError = true });
            }
            finally
            {
                if (response != null)
                    response.Close();
            }
        }), null);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...