我正在玩AppScript并试图获取oAuth 2.0访问令牌。
有没有样例可以在AppScript中实现这个功能?
有没有样例可以在AppScript中实现这个功能?
我正在制作一个更简洁易懂的教程版本,但是这里有一个简单的Gist,可以为您提供一些示例代码,让您了解如何运作 -
https://gist.github.com/4079885
它仍然缺少注销、错误处理和refresh_token功能,但至少您应该能够登录并调用oAuth 2受保护的Google API(在本例中是个人资料API)。您可以在此处看到它的实际效果 -
https://script.google.com/macros/s/AKfycby3gHf7vlIsfOOa9C27z9kVE79DybcuJHtEnNZqT5G8LumszQG3/exec
使用oAuth 2 Web服务器流程是关键。查看代码片段中的getAndStoreAccessToken
函数以获取关键细节。我修改了上面的示例,使用了新的状态令牌API和CacheService,而不是现在已经过时的UserProperties。使用状态令牌API似乎使事情更加安全,因为回调URL将在超时后停止接受状态令牌。
同样的注意事项适用。您的重定向URI必须添加到(脚本)项目中的开发者控制台中,同时您必须从控制台中提取CLIENT_SECRET和CLIENT_ID并将它们粘贴进去。如果您正在一个域内工作,ScriptApp.getService().getUrl()返回的URL似乎不能保证是什么,所以我最终让它动态获取地址,然后等待在第二个重定向上失败,然后硬编码结果URI。