使用OAuth2从Postman调用Zoho CRM独立函数遇认证失败求助
Zoho CRM独立函数OAuth2.0调用(Postman示例)
一、核心请求结构(推荐使用请求头认证)
这是符合OAuth2.0标准的安全认证方式,避免URL泄露Token:
- 请求方法:POST(若函数为只读类型,也可使用GET,以Zoho CRM函数定义为准)
- 请求URL:替换为你的独立函数执行URL,格式为:
注意:若你的CRM部署在中国大陆区,域名需改为https://www.zohoapis.com/crm/v2/functions/[你的函数API名称]/executehttps://www.zohoapis.com.cn - 请求头:
Authorization:Bearer {你的Access Token}Content-Type:application/json
- 请求体(仅函数需参数时添加):
参数名需与Zoho CRM函数中定义的完全一致,大小写敏感{ "parameters": { "customer_id": "12345", "status": "active" } }
二、URL参数式认证(对应你提到的函数OAuth调用URL)
若必须使用URL传递Token,需严格遵循参数名规则:
- 请求URL:
https://www.zohoapis.com/crm/v2/functions/[你的函数API名称]/execute?auth_type=oauth&bearer_token={你的Access Token} - 函数参数传递:
- GET请求:直接追加到URL后,如
&customer_id=12345&status=active - POST请求:仍使用JSON请求体,格式同上述请求头方式的请求体
- GET请求:直接追加到URL后,如
三、认证失败排错要点
- 确认Access Token权限:调用Token校验接口(
https://www.zohoapis.com/oauth/v2/token/info,请求头带Authorization: Bearer {Token}),检查是否包含ZohoCRM.functions.execute.READ权限 - 检查区域一致性:获取Token时的域名需与调用函数时的域名一致(国际区用
zohoapis.com,中国区用zohoapis.com.cn) - 验证函数类型:仅Standalone独立函数支持外部OAuth调用,关联函数无法通过外部触发
- 排查参数格式:函数参数的类型、取值范围需与函数定义匹配,避免格式错误
四、服务器端定时执行建议
- 第三方需在每次调用函数前,用Refresh Token获取最新Access Token(Token有效期1小时)
- 自服务器客户端的Refresh Token长期有效,除非手动在Zoho控制台撤销
内容的提问来源于stack exchange,提问作者Denis Denchev
相关产品推荐
相关产品推荐

