C# 实现 使用OAuth2.0 登录 Google 服务
string clientId = "**********.apps.googleusercontent.com"; string scope = ""; string clientSecret = "********************"; string redirectUri = "urn:ietf:wg:oauth:2.0:oob"; string grant_type = "authorization_code"; this.HttpBody.Text = string.Format( "code={0}&redirect_uri={1}&client_id={2}&scope=&client_secret={3}&grant_type={4}", Uri.EscapeDataString(this.AuthorizationCode.Text), Uri.EscapeDataString(redirectUri), Uri.EscapeDataString(clientId), Uri.EscapeDataString(clientSecret), Uri.EscapeDataString(grant_type) );
// create an request object HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetURL); // set up the method request.Method = method; request.ContentType = "application/x-www-form-urlencoded"; // set up the headers 可以不加。GData-Version:3.0这个头已经不需要了吧。这里只是为了只GData-Version:3.0 for (int i = 0; i < header.Count;i++ ) { request.Headers.Add(header.ElementAt(i).Key + ":" + header.ElementAt(i).Value); } // set up the http body Stream requestStream = request.GetRequestStream(); StreamWriter writer = new StreamWriter(requestStream); writer.Write(httpBody); writer.Flush(); writer.Close(); // get the response HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream); string result = reader.ReadToEnd(); this.RecieveData.Text = result;