我想从GAS脚本连接到Google云端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和文档,没用。
Plz欢迎任何帮助,我在过去一周内陷入困境。
事先提前。
答案 0 :(得分:0)
Oauth2稍微复杂一点,每次都可以放入标题中。有一个多步骤流程,您可以将用户发送给Google的服务以获取您可以在API调用中发送的令牌,然后您可以代表该用户拨打电话。在https://developers.google.com/apps-script/guides/services/external#making_requests_to_services_with_oauth记录了从GAS进行此类OAuth调用。
另一种选择是服务帐户'在哪里创建可以访问Cloud SQL实例的服务帐户,在应用程序中保存一些凭据,然后使用它们。似乎从GAS执行此操作很困难,因为您必须实现oauth流本身。请参阅https://developers.google.com/accounts/docs/OAuth2#serviceaccount。