예제 #1
0
        public string Fetch(string code, string node)
        {
            string jsonStr = string.Empty;

            try {
                string postData = "code=" + code + "&redirect_uri=" + HttpContext.Current.Server.UrlEncode(this.RedirectUri) + "&client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=authorization_code";
                Web_Request             = WebRequest.Create(googleApiUrl + "token?" + postData);
                Web_Request.Method      = "POST";
                Web_Request.ContentType = "application/x-www-form-urlencoded";

                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                Web_Request.ContentLength = byteArray.Length;

                using (Stream dataStream = Web_Request.GetRequestStream()) {
                    dataStream.Write(byteArray, 0, byteArray.Length);
                }

                GoogleToken token = new GoogleToken();

                using (Web_Response = Web_Request.GetResponse()) {
                    using (Stream stream = Web_Response.GetResponseStream()) {
                        StreamReader reader = new StreamReader(stream);
                        token = new JavaScriptSerializer().Deserialize <GoogleToken>(reader.ReadToEnd());
                    }
                }

                jsonStr = GetUserInfo(token);
            }
            catch { }

            return(jsonStr);
        }
예제 #2
0
        private string GetUserInfo(GoogleToken token)
        {
            string jsonStr = string.Empty;

            if (!string.IsNullOrEmpty(token.access_token))
            {
                Web_Request = WebRequest.Create("https://www.googleapis.com/plus/v1/people/me?access_token=" + token.access_token);

                using (Web_Response = Web_Request.GetResponse()) {
                    using (Stream stream = Web_Response.GetResponseStream()) {
                        StreamReader reader = new StreamReader(stream);
                        jsonStr = reader.ReadToEnd();
                    }
                }
            }

            return(jsonStr);
        }
예제 #3
0
        private string GetUserInfo(GoogleToken token)
        {
            string jsonStr = string.Empty;

            if (!string.IsNullOrEmpty(token.access_token)) {
                Web_Request = WebRequest.Create("https://www.googleapis.com/plus/v1/people/me?access_token=" + token.access_token);

                using (Web_Response = Web_Request.GetResponse()) {
                    using (Stream stream = Web_Response.GetResponseStream()) {
                        StreamReader reader = new StreamReader(stream);
                        jsonStr = reader.ReadToEnd();
                    }
                }
            }

            return jsonStr;
        }
예제 #4
0
        public string Fetch(string code, string node)
        {
            string jsonStr = string.Empty;

            try {
                string postData = "code=" + code + "&redirect_uri=" + HttpContext.Current.Server.UrlEncode(this.RedirectUri) + "&client_id=" + ClientId + "&client_secret=" + ClientSecret + "&grant_type=authorization_code";
                Web_Request = WebRequest.Create(googleApiUrl + "token?" + postData);
                Web_Request.Method = "POST";
                Web_Request.ContentType = "application/x-www-form-urlencoded";

                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                Web_Request.ContentLength = byteArray.Length;

                using (Stream dataStream = Web_Request.GetRequestStream()) {
                    dataStream.Write(byteArray, 0, byteArray.Length);
                }

                GoogleToken token = new GoogleToken();

                using (Web_Response = Web_Request.GetResponse()) {
                    using (Stream stream = Web_Response.GetResponseStream()) {
                        StreamReader reader = new StreamReader(stream);
                        token = new JavaScriptSerializer().Deserialize<GoogleToken>(reader.ReadToEnd());
                    }
                }

                jsonStr = GetUserInfo(token);
            }
            catch { }

            return jsonStr;
        }