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) 尝试交换访问令牌的代码

有人可以指出我在这里做错了什么吗?

C# :无法获取访问令牌.谷歌日历接口

检查此示例:http://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples

它是一个命令行应用程序,使用 OAuth 2.0 来授权任务 API 请求,调整它以使用日历 API 应该非常容易。