You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用OAuth2库报TypeError: createService is not a function

OAuth2.createService is not a function 报错排查

按出现概率从高到低依次排查:

  • 库标识符配置错误
    打开Apps Script编辑器左侧「库」面板,检查已添加的OAuth2库的标识符字段,必须和代码里调用的前缀一致。如果你代码里写的是OAuth2.createService(),那标识符就得是OAuth2;如果安装库的时候自动生成了别的标识符(比如带版本后缀),要么改标识符和代码对齐,要么把代码里的调用前缀改成实际的标识符值。顺便确认库选的是最新正式版,别选好几年前的旧版本,旧版本可能没导出对应方法。
  • 命名空间冲突
    全项目搜OAuth2,看你自己的代码里有没有定义过叫OAuth2的变量、函数。自定义的同名值会直接覆盖引入的库对象,自然调不到库里的方法,找到之后重命名自定义的变量/函数就行。
  • 链式调用语法错误
    你贴的代码最后有一行.setParm(),这行本身就有问题:一是方法名拼错了,库里没有setParm这个方法,正确的自定义参数方法是setParam;二是这个方法必须传参名、参数值两个入参,空调用会直接打断链式调用抛错。不需要传自定义参数就直接删掉这行,要传就按.setParam('key', 'value')的格式写。

出错代码片段

function getToken() {
  const scriptProperties = PropertiesService.getScriptProperties();
  var client_id = scriptProperties.getProperty('CLIENT_ID');
  var secret = scriptProperties.getProperty('SECRET');
  
  var service = OAuth2.createService('Service')
  .setAuthorizationBaseUrl('X')
  .setTokenUrl('X')
  .setClientId(client_id)
  .setClientSecret(secret)
  .setCallbackFunction('authCallback')
  .setPropertyStore(PropertiesService.getUserProperties())
  .setScope('CustomerAPI.Public')
  .setParm() // 错误调用点
  
  Logger.log(service);
}

内容的提问来源于stack exchange,提问作者Vibelord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:18:18