OAuth 在使用 Google Apps 脚本时不授予访问权限



我正在尝试使用Google Apps Script和Google Sheets调用StackExchange的API。我无法弄清楚OAuth流程中哪里出了问题。我当前的代码未授予访问权限:

function getStackExchangeService_() {
  var CLIENT_ID = PropertiesService.getScriptProperties().getProperty('SE_CLIENT_ID');
  var CLIENT_SECRET = PropertiesService.getScriptProperties().getProperty('SE_CLIENT_SECRET');
  return OAuth2.createService('StackExchange')
  .setAuthorizationBaseUrl('https://stackoverflow.com/oauth')
  .setTokenUrl('https://stackoverflow.com/oauth/access_token')
  .setClientId(CLIENT_ID)
  .setClientSecret(CLIENT_SECRET)
  .setCallbackFunction('authCallback')
  .setPropertyStore(PropertiesService.getUserProperties())
  .setRedirectUri('https://stackexchange.com/oauth/login_success')
  .setScope('global');
}

当我调用它并记录响应时,我总是得到"false":

var service = getStackExchangeService_();
Logger.log(service.hasAccess());

感谢您的帮助!

最明显的问题是global不是有效的堆栈交换范围。

可能使用.setScope('read_inbox');开始。

此外,请确保:

  1. 你已注册应用并将其配置为显式(服务器端)OAuth2。(在您的情况下省略端口信息。
  2. 显然,您应该按照这些说明将https://script.google.com/macros/d/{SCRIPT ID}/usercallback用于Application Website??.
  3. 这意味着您将script.google.com用于OAuth Domain

相关内容

  • 没有找到相关文章

最新更新