C# - Google API 请求 access_token - 400 - 错误请求
C# - Google API request access_token - 400 - bad request
我正在尝试从 google (youtube) 获取 access_token,我遵循了文档,但响应是 400 - 错误请求。
NameValueCollection parameters = new NameValueCollection();
parameters.Add("client_id", _clientID);
parameters.Add("client_secret", _clientSecret);
parameters.Add("grant_type", "authorization_code");
parameters.Add("redirect_uri", redirectUri);
parameters.Add("code", Url.Encode(code));
parameters.Add("content-type", "application/x-www-form-urlencoded");
WebClient client = new WebClient();
var result = client.UploadValues("https://accounts.google.com/o/oauth2/token", "POST", parameters);
在文档中我找到了 url:
https://oauth2.googleapis.com/token
响应:System.Net.WebException:'The remote server returned an error: (400) Bad Request.'
我试过:
https://www.googleapis.com/oauth2/v4/token
响应:System.Net.WebException:'The remote server returned an error: (400) Bad Request.'
并且:
https://accounts.google.com/o/oauth2/token
响应:System.Net.WebException:'The remote server returned an error: (400) Bad Request.'
你能帮忙解决一下吗?
提前致谢
我必须将 header 部分写入 WebClient,而无需对 'code'
进行编码
NameValueCollection parameters = new NameValueCollection();
parameters.Add("client_id", _clientID);
parameters.Add("client_secret", _clientSecret);
parameters.Add("grant_type", "authorization_code");
parameters.Add("redirect_uri", redirectUri);
parameters.Add("code", code);
WebClient client = new WebClient();
client.Headers.Add("content-type", "application/x-www-form-urlencoded");
var result = client.UploadValues("https://oauth2.googleapis.com/token", "POST", parameters);
这样很好用。
我正在尝试从 google (youtube) 获取 access_token,我遵循了文档,但响应是 400 - 错误请求。
NameValueCollection parameters = new NameValueCollection();
parameters.Add("client_id", _clientID);
parameters.Add("client_secret", _clientSecret);
parameters.Add("grant_type", "authorization_code");
parameters.Add("redirect_uri", redirectUri);
parameters.Add("code", Url.Encode(code));
parameters.Add("content-type", "application/x-www-form-urlencoded");
WebClient client = new WebClient();
var result = client.UploadValues("https://accounts.google.com/o/oauth2/token", "POST", parameters);
在文档中我找到了 url: https://oauth2.googleapis.com/token 响应:System.Net.WebException:'The remote server returned an error: (400) Bad Request.'
我试过: https://www.googleapis.com/oauth2/v4/token 响应:System.Net.WebException:'The remote server returned an error: (400) Bad Request.'
并且: https://accounts.google.com/o/oauth2/token 响应:System.Net.WebException:'The remote server returned an error: (400) Bad Request.'
你能帮忙解决一下吗?
提前致谢
我必须将 header 部分写入 WebClient,而无需对 'code'
进行编码 NameValueCollection parameters = new NameValueCollection();
parameters.Add("client_id", _clientID);
parameters.Add("client_secret", _clientSecret);
parameters.Add("grant_type", "authorization_code");
parameters.Add("redirect_uri", redirectUri);
parameters.Add("code", code);
WebClient client = new WebClient();
client.Headers.Add("content-type", "application/x-www-form-urlencoded");
var result = client.UploadValues("https://oauth2.googleapis.com/token", "POST", parameters);
这样很好用。