集成Zoho REST API遇OAuth令牌无效错误,求项目相关接口调用方法
解决Zoho REST API调用问题:令牌无效 + 任务请求示例
先帮你排查「Invalid OAuth access token」的问题,这通常是几个常见原因导致的:
- 检查请求头的Authorization格式:必须严格写成
Authorization: Bearer 1000.53ea059005781cfc.ff08c750c671f7d1267e6de1e,注意Bearer后面有一个空格,很多人会漏这个,这是最常见的错误。 - 确认API域名匹配:你的令牌返回的
api_domain是https://www.zohoapis.com,所有请求必须用这个域名,不能混用其他区域的(比如zohoapis.eu或zohoapis.com.cn),否则会令牌验证失败。 - 检查令牌是否过期:你的
expires_in是3600秒(也就是1小时),如果令牌生成后已经超过1小时,需要用refresh_token刷新获取新的access token,刷新请求格式如下:POST https://www.zohoapis.com/oauth/v2/token Content-Type: application/x-www-form-urlencoded refresh_token=1000.2a5ddc41fb6faccb42.b6c01194764f259049187f&client_id=你的客户端ID&client_secret=你的客户端密钥&grant_type=refresh_token
接下来是你需要的四个任务的正确请求格式(基于Zoho Projects API):
a) 获取项目列表
首先你需要先获取门户ID(PORTAL_ID),可以通过调用「获取所有门户」接口拿到,请求格式:
GET https://www.zohoapis.com/projects/v1/portals Authorization: Bearer 1000.53ea059005781cfc.ff08c750c671f7d1267e6de1e Content-Type: application/json
拿到PORTAL_ID后,再调用获取项目列表的接口:
GET https://www.zohoapis.com/projects/v1/portals/{PORTAL_ID}/projects Authorization: Bearer 1000.53ea059005781cfc.ff08c750c671f7d1267e6de1e Content-Type: application/json
b) 获取项目的用户列表
需要用到门户ID和项目ID(PROJECT_ID,从项目列表接口获取):
GET https://www.zohoapis.com/projects/v1/portals/{PORTAL_ID}/projects/{PROJECT_ID}/users Authorization: Bearer 1000.53ea059005781cfc.ff08c750c671f7d1267e6de1e Content-Type: application/json
c) 获取项目的任务列表
同样需要门户ID和项目ID,还可以加可选参数过滤结果:
GET https://www.zohoapis.com/projects/v1/portals/{PORTAL_ID}/projects/{PROJECT_ID}/tasks Authorization: Bearer 1000.53ea059005781cfc.ff08c750c671f7d1267e6de1e Content-Type: application/json
示例过滤:只获取未完成任务,可在URL后加
?status=open
d) 创建新任务
POST请求需要携带任务的核心信息,示例如下:
POST https://www.zohoapis.com/projects/v1/portals/{PORTAL_ID}/projects/{PROJECT_ID}/tasks Authorization: Bearer 1000.53ea059005781cfc.ff08c750c671f7d1267e6de1e Content-Type: application/json { "name": "完成API集成文档", "description": "整理Zoho API调用的所有步骤和示例", "assignee_id": "123456", // 可选,从项目用户列表获取用户ID "start_date": "2024-05-20", "due_date": "2024-05-27", "priority": "high" }
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

