C# :无法获取访问令牌.谷歌日历接口
本文关键字:谷歌 日历 接口 访问令牌 获取 | 更新日期: 2023-09-27 18:34:20
您好,我正在尝试使用谷歌日历API。 我无法获取访问令牌。
这是我目前使用的代码:
private string ObtainAccessToken(string code)
{
string content =
"code=" + code + "&" +
"client_id=1016429729591.apps.googleusercontent.com&"+
"client_secret={MySecret}&" +
"redirect_uri=urn:ietf:wg:oauth:2.0:oob&" +
"grant_type=authorization_code";//authorization_code";
Google.Apis.Authentication.HttpRequestFactory
factory = new Google.Apis.Authentication.HttpRequestFactory();
HttpWebRequest req = factory.Create(new Uri("https://accounts.google.com/o/oauth2/token?"+content), "POST");
byte[] data = Google.Apis.Utilities.EncodeStringToUtf8(content);
req.ContentLength = data.Length;
req.ContentType = "application/x-www-form-urlencoded";
req.GetRequestStream().Write(data, 0, data.Length);
req.GetResponse();
}
我关注的 api 文档在这里:https://developers.google.com/accounts/docs/OAuth2InstalledApp
我经常收到HTTP错误请求400错误。
我已经尝试了这个问题中给出的解决方案,但它也不起作用:谷歌日历 API - 错误请求 (400) 尝试交换访问令牌的代码
有人可以指出我在这里做错了什么吗?
检查此示例:http://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples
它是一个命令行应用程序,使用 OAuth 2.0 来授权任务 API 请求,调整它以使用日历 API 应该非常容易。