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

如何调用函数并使用其返回值?如何在不同函数间传递参数使用?

问题修正与函数传参方案

现有代码核心问题

  • 变量名不匹配:你给module函数定义的形参名为access_token,但函数内部构造请求参数时调用的是未声明的header变量,运行时会直接抛出变量未定义的报错
  • 调用逻辑缺失:你调用module函数时需要主动传入access_token()返回的header对象,参数才会被目标函数正常接收使用
  • 命名冲突风险:原access_token函数名和参数名一致,后续迭代很容易出现命名混淆问题,建议调整函数名增加语义辨识度

修正后可运行代码

// 生成鉴权头的工具函数,返回包含Authorization的完整header对象
function getAccessTokenHeader()
{
  var token = zauthorization().access_token;
  var header = {
    "Authorization":"Zoho-oauthtoken " + token
  }
  return header
}

// 拉取自定义模块数据的函数,接收header作为入参
function getCustomModule(header)
{
  var options = {
    "method":"get",
    "headers": header
  }
  var url = "https://recruit.zoho.com/recruit/v2/CustomModule1"
  var res = UrlFetchApp.fetch(url,options)
  return JSON.parse(res)
}

// 后续新增的统计行数函数,同样可以直接复用header参数
function countModuleRows(header)
{
  // 既可以直接用header发新请求,也可以复用已有模块数据避免重复请求
  var moduleData = getCustomModule(header)
  // 按实际返回结构调整取值逻辑即可
  return moduleData.data ? moduleData.data.length : 0
}

调用与传参示例

// 先调用鉴权函数拿到header对象
var requestHeader = getAccessTokenHeader()
// 把header作为参数传入需要鉴权的目标函数即可
var moduleData = getCustomModule(requestHeader)
var rowCount = countModuleRows(requestHeader)

通用传参规则

只要遵循以下逻辑即可实现任意函数间的参数传递:

  • 定义目标函数时,在函数括号内声明要接收的参数名,函数内部统一使用该参数名操作
  • 调用目标函数时,在括号内传入其他逻辑/其他函数返回的对应参数值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:54:00