【问题标题】:Google Contacts API is throwing unauthorized exception from C# WinformGoogle Contacts API 从 C# Winform 引发未经授权的异常
【发布时间】:2017-07-20 14:34:46
【问题描述】:

我正在获取用户的 Gmail 联系人。

问题场景:用户将通过 Oauth2 进行身份验证,然后 Windows 客户端 (C#) 将获取该身份验证用户的所有联系人并将其显示在列表框中。使用API​​:https://developers.google.com/google-apps/contacts/v3/

当前解决方案(尚未工作):https://github.com/dnemai/GoogleContactsFromWinApp

我相信我正在正确地进行授权,因为我正在从另一个 API (GetUserInfo) 接收数据。

我希望同样的方法可以用来获取联系人。但是,GetContacts 方法(在我的解决方案中)抛出了无效的授权错误。

我花了将近 2 天的时间来解决这个问题,但无法弄清楚出了什么问题。是我的代码还是谷歌 API 做错了什么?

您能帮我解决这个问题吗?

【问题讨论】:

标签: c# winforms google-api google-api-client google-contacts-api


【解决方案1】:

在我看来可能有两个问题:

  1. 客户端机密信息不正确
  2. 未创建刷新令牌

if (credential.Token.IsExpired(credential.Flow.Clock))
{
   if (credential.RefreshTokenAsync(CancellationToken.None).Result)
   {
      ...
   }
}

希望这会有所帮助。

安德烈亚斯

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 2012-02-22
    • 2016-11-27
    • 2017-03-23
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多