Basecamp 3 使用 Apps 脚本授权

问题描述 投票:0回答:1

我真的很感激这里的一些帮助。我有一个具有以下功能的脚本:

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 行,文件“服务”)

我不知道为什么,也找不到解决办法。有任何想法吗?谢谢!

我自己不能真正尝试很多,因为我不是开发人员,只是尝试这样做来自动化一些东西

google-apps-script oauth-2.0 authorization basecamp
1个回答
0
投票

有一些奇怪的运气,发现 OAuth2 github 页面上有一个 Basecamp 示例代码,它完全满足我的需要,并且它有效,太棒了

© www.soinside.com 2019 - 2024. All rights reserved.