我真的很感激这里的一些帮助。我有一个具有以下功能的脚本:
function getOAuthService() {
return OAuth2.createService('Basecamp')
.setAuthorizationBaseUrl('https://launchpad.37signals.com/authorization/new')
.setTokenUrl('https://launchpad.37signals.com/authorization/token')
.setClientId('client_id')
.setClientSecret('secret')
.setCallbackFunction('authCallback')
.setPropertyStore(PropertiesService.getUserProperties())
.setScope('read')
.setParam('type', 'web_server')
.setRedirectUri('https://script.google.com/macros/d/SCRIPT_ID/usercallback');
}
function authorize() {
var basecampService = getOAuthService();
if (!basecampService.hasAccess()) {
var authorizationUrl = basecampService.getAuthorizationUrl();
Logger.log('Open the following URL and re-run the script: ' + authorizationUrl);
} else {
Logger.log('You are already authorized.');
}
}
client_id、secret 和 script_id 是实际 ID,并且是合法的。当我运行 Authorize() 函数时,我获取 URL 并打开它,它会将我带到可以允许访问和授权的页面。然而,当我这样做时,我只是收到这条消息:
错误:检索令牌时出错:类型不受支持。应为“web_server”或“刷新”。 (第 605 行,文件“服务”)
我不知道为什么,也找不到解决办法。有任何想法吗?谢谢!
我自己不能真正尝试很多,因为我不是开发人员,只是尝试这样做来自动化一些东西
有一些奇怪的运气,发现 OAuth2 github 页面上有一个 Basecamp 示例代码,它完全满足我的需要,并且它有效,太棒了