【问题标题】:Google Oauth 2.0 code - getting Fixed Oauth credentialsGoogle Oauth 2.0 代码 - 获取固定的 Oauth 凭据
【发布时间】:2014-09-13 10:48:30
【问题描述】:

我想从 GAS 脚本连接到谷歌云 SQL API。

我遇到的困难是我从 API 控制台为我的 GAS 脚本获取了 Oauth 代码,该代码只运行一次,而不是每天运行一次。我第二次使用相同的 Oauth 代码运行脚本时,它会给出错误消息: “返回代码 401”

示例脚本:

 var url = "https://www.googleapis.com/sql/v1beta3/projects/XXXXXXX/instances/XXXXXXXX/operations/XXXXXXXXXXX";
  var headers = {"Accept":"application/json", 
                 "Content-Type":"application/json", 
                 "Authorization":"Bearer XXXXXXXXX"
                   };
  var options = {"method":"GET",
                 "headers": headers,
                };
  var response = UrlFetchApp.fetch(url,options);
  Logger.log(response); 

屏幕截图给出了我从 Oauth 获取唯一密钥的位置。

https://drive.google.com/a/ssomens.com/?tab=mo#folders/0B_f0d7mdbV_UYWh4cDBEdndSZE0

在哪里可以获得正确的 Oauth 密钥,这样我就不需要每天都提供新的令牌,我需要一个 FIXED 令牌,这样我的脚本就可以每天运行而不会出现任何问题。我检查了很多 SITES nd 文档,但没用。

欢迎任何帮助,我在过去 1 周内陷入困境。

提前致谢。

【问题讨论】:

    标签: api oauth oauth-2.0 google-oauth google-cloud-sql


    【解决方案1】:

    Oauth2 比您每次都可以放入标头中的令牌要复杂一些。有一个多步骤流程,您将用户发送到 Google 的服务以取回令牌,然后您可以在 API 调用中发送该令牌,然后您就可以代表该用户进行调用。从 GAS 进行这种 OAuth 调用的文档记录在 https://developers.google.com/apps-script/guides/services/external#making_requests_to_services_with_oauth

    另一种方法是“服务帐户”,您可以在其中创建一个可以访问您的 Cloud SQL 实例的服务帐户,在您的应用中保存一些凭据,然后使用它们。从 GAS 执行此操作似乎很困难,因为您必须自己实施 oauth 流程。见https://developers.google.com/accounts/docs/OAuth2#serviceaccount

    【讨论】:

      猜你喜欢
      • 2011-05-09
      • 1970-01-01
      • 2023-03-13
      • 2020-12-11
      • 2011-12-09
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多