我正在使用C# (ASP.NET)。我想在我的应用程序中使用Google OAuth来访问用户的个人资料。我已经成功获取了授权码,但在获取访问令牌时出现了问题。
我更喜欢使用Google教程。在教程中,我读到必须向Google发送请求并获取响应。为此,我使用 System.Net.HttpWebRequest / HttpWebResponse
(这样做正确吗?)。我使用的代码是...
byte[] buffer = Encoding.ASCII.GetBytes("?code=" + code + "&client_id=xxx&client_secret=xxx&redirect_uri=xxxx&grant_type=authorization_code");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://accounts.google.com");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = buffer.Length;
Stream strm = req.GetRequestStream();
strm.Write(buffer, 0, buffer.Length);
strm.Close();
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Response.Write(((HttpWebResponse)resp).StatusDescription);
但是,我遇到了这个错误:
远程服务器返回了一个错误:(405) 方法不允许。
更新:这里的变量 code
是授权码。
HttpWebRequest/Response
是否正确?我能否从HttpWebRequest
向谷歌发送请求。 - Sagar