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

如何通过Node.js从Zoho控制台Self Client生成Generated Code?

使用Node.js实现Zoho Self Client授权码生成及令牌获取流程

前提条件

  • 已在Zoho控制台创建Self Client,获取到client_id、client_secret,以及控制台生成的临时授权码(Generated Code)
  • 确认Self Client配置的redirect_uri(一般默认是https://www.zoho.com,需和代码中保持完全一致)
  • 明确所需的授权范围(scopes,比如ZohoCRM.modules.ALL)

方法一:使用Zoho官方Node.js Auth SDK

  1. 安装SDK
npm install @zohocrm/nodejs-sdk
  1. 编写代码实现令牌获取
    创建zoho-auth.js文件,填入以下内容:
const { OAuthBuilder } = require('@zohocrm/nodejs-sdk');

// 初始化OAuth配置
const oauthConfig = new OAuthBuilder()
    .clientId("你的Client ID")
    .clientSecret("你的Client Secret")
    .grantToken("控制台生成的Generated Code")
    .redirectURL("https://www.zoho.com")
    .scope("ZohoCRM.modules.ALL,ZohoCRM.settings.ALL"); // 替换为你的授权范围

const oauthClient = oauthConfig.build();

// 生成访问令牌
async function getAccessToken() {
    try {
        const tokenResult = await oauthClient.generateAccessToken();
        console.log("访问令牌:", tokenResult.accessToken);
        console.log("刷新令牌:", tokenResult.refreshToken);
        // 可将令牌存入配置文件或数据库供后续使用
    } catch (err) {
        console.error("令牌生成失败:", err);
    }
}

getAccessToken();

方法二:手动发送HTTP请求(无需SDK)

如果不想依赖官方SDK,可直接用HTTP请求实现:

  1. 安装请求工具(以axios为例)
npm install axios
  1. 编写请求代码
const axios = require('axios');

async function exchangeToken() {
    const tokenUrl = "https://accounts.zoho.com/oauth/v2/token";
    const requestParams = {
        client_id: "你的Client ID",
        client_secret: "你的Client Secret",
        grant_type: "authorization_code",
        code: "控制台生成的Generated Code",
        redirect_uri: "https://www.zoho.com"
    };

    try {
        const response = await axios.post(tokenUrl, null, { params: requestParams });
        console.log("访问令牌:", response.data.access_token);
        console.log("刷新令牌:", response.data.refresh_token);
    } catch (err) {
        console.error("请求失败:", err.response.data);
    }
}

exchangeToken();

关键注意事项

  • 控制台生成的Generated Code有效期仅60秒,需立即用于兑换访问令牌
  • 兑换得到的refresh_token可长期使用,后续无需重复生成授权码,直接用它刷新访问令牌即可
  • 确保redirect_uri与Zoho控制台Self Client配置的完全一致,否则会返回授权错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:23:22