【问题标题】:How to obtain google OAuth 2 or service access token c# .net 3.5 (Unity) for google sheets如何为谷歌表格获取谷歌 OAuth 2 或服务访问令牌 c# .net 3.5 (Unity)
【发布时间】:2017-04-09 19:28:50
【问题描述】:

有谁知道获取 google oAuth2 访问令牌的方法,然后在 WWW(或只是 Web 请求)中使用它来从私人电子表格中检索数据。

我已经设法使用谷歌表格 v3 示例中描述的方式(我相信正在获得)访问代码,这将打开谷歌页面打开以接受授权并复制访问代码。但是,当我在网络调用中使用此代码时,谷歌提供了它失败(它要求我提供 oAuth 应该替换的 api 密钥,但仍然失败并使用有效的 api 密钥)

我正在查看文档上的参考资料,即 https://developers.google.com/identity/protocols/OAuth2WebServer#callinganapi 用于放入我的 access_token,因此它看起来像下面的代码段,并且根据我的理解应该可以工作。我猜我的访问代码是错误的,但不是 100% 确定是否是这种情况

        WWW a = new WWW("https://sheets.googleapis.com/v4/spreadsheets/1MNqof6SVUFUhyPxca-bSSfhlcHNOG80o29GPHaJYZXU/values/A1:D4?" + "access_token=" + accessToken);

    yield return a;

    Debug.Log(a.text);

我已经查看了有关如何阅读和写入的示例,以及使用 requests 从这里 developers.google.com/identity/protocols/OAuth2WebServer#callinganapi ,但我需要授权这些并授予权限。

查看他们使用.net 4 的下载和仅支持.net 3.5 的统一显示的其他示例,我需要以不同的方式进行此操作,例如 WWW 请求以获取访问令牌(如果过期)然后使用数据的实际请求中的访问令牌。

【问题讨论】:

    标签: c# google-sheets-api


    【解决方案1】:

    您可以查看此documentation。 OAuth 2.0 是 Google API 使用的授权协议。您应该通过阅读以下链接来熟悉该协议:The OAuth 2.0 Authorization ProtocolUsing OAuth 2.0 to Access Google APIs。首先,从 Google API Console 获取 OAuth 2.0 客户端凭据。然后,您的客户端应用程序从 Google 授权服务器请求访问令牌,从响应中提取令牌,并将令牌发送到您要访问的 Google API。有关在 Google 中使用 OAuth 2.0 的交互式演示(包括使用您自己的客户端凭据的选项),请尝试使用 OAuth 2.0 Playground

    【讨论】:

    • 所以我一直在阅读文档,但我仍然有点迷失了我需要发送什么来获取令牌。我了解设置 API 和您的客户端密码等,然后了解如何处理返回请求。我知道我需要发送客户端和秘密只是不确定我会将它发送到哪里以及我在统一 WWW 类中还需要什么。我跑遍了操场以获取访问令牌,如果我将其复制到我的统一应用程序中,一切正常,但是我需要知道如何在统一内生成该令牌到期时的令牌,这就是我迷路的地方
    猜你喜欢
    • 2013-07-21
    • 2017-11-13
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 2013-07-20
    • 2019-02-02
    • 2018-09-25
    相关资源
    最近更新 更多