Click here to Skip to main content
15,886,556 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hy,

Who can help me about the token of Google Api V3 Calendar, please ?

I configure all parameters of my Google Project but I've some problem to having a token with this code :

public UserToken GetUserTokenByCode(string sCode, Credential credential)
        {
            UserToken MyToken = new UserToken();

            string url = credential.token_uri.ToString(); ///-- "https://accounts.google.com/o/oauth2/token";

            StringBuilder postDataBuider = new StringBuilder();
            postDataBuider.Append("code=" + sCode); // the code for the Google GMAIL.COM
            postDataBuider.Append("&client_id=" + credential.client_id.ToString()); 
            postDataBuider.Append("&client_secret=" + credential.client_secret.ToString()); 
            postDataBuider.Append("&scope=" + UrlEncodeForGoogle("https://www.googleapis.com/auth/calendar").Replace("%20", "+"));
            postDataBuider.Append("&redirect_uri=" + credential.redirect_uris[0].ToString());
            postDataBuider.Append("&grant_type=authorization_code");
            
            string postDataStr = postDataBuider.ToString();
            
            byte[] postDataBytes = System.Text.Encoding.UTF8.GetBytes(postDataStr);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Accept = "application/json";
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = postDataBytes.Length;

            Stream dataStream = request.GetRequestStream();
            dataStream.Write(postDataBytes, 0, postDataBytes.Length);
            dataStream.Close();

            string responseStr = "";
            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
                        {
                            responseStr = readStream.ReadToEnd();

                            if (String.Empty == responseStr)
                            {
                                throw new Exception("Response is null or empty");
                            }
                            else
                            {
                                JObject token = JObject.Parse(responseStr);

                                MyToken.access_token = (token["access_token"]).ToString();
                                MyToken.expires_in = (token["expires_in"]).ToString();
                                MyToken.refresh_token = (token["refresh_token"]).ToString();
                                MyToken.token_type = (token["token_type"]).ToString();
                                MyToken.Refreshdate = DateTime.Now;

                            }
                        }
                    }
                }
            }
            catch 
            { }

            return MyToken;
        }


Thank you for your help.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900