npm 包 infusionsoft-node-boilerplate 使用教程

什么是 infusionsoft-node-boilerplate?

infusionsoft-node-boilerplate 是一款基于 Node.js 的轻量级轮子,它封装了 Infusionsoft REST API,让开发者更加方便地使用 Infusionsoft 服务。这个 npm 包提供了生成 Access Token、刷新 Access Token、访问 Infusionsoft REST API 的基本功能。

安装

通过 npm 安装:

npm install infusionsoft-node-boilerplate -S

使用

初始化

在调用 Infusionsoft API 之前,需要通过 AccessToken 和 refreshToken 来鉴权。首先需要使用 Infusionsoft.init() 方法来初始化:

const Infusionsoft = require('infusionsoft-node-boilerplate');

const options = {
  clientID: 'yourClientId',
  clientSecret: 'yourClientSecret',
  redirectUri: 'https://example.com/callback',
  scopes: ['full']
};

Infusionsoft.init(options);

其中:

  • clientIDclientSecret 是 Infusionsoft 分配给开发者的应用 ID 和密钥,需要在 Infusionsoft Developer Hub 中创建应用并获取。
  • redirectUri 是在应用中设置的重定向 URI,需要与创建应用时保持一致。
  • scopes 是要请求的权限范围。

获取 Access Token

在用户授权后,需要通过 Infusionsoft.getAccessToken() 方法来获取 Access Token:

Infusionsoft.getAccessToken('code')
  .then(token => {
    console.log(token);
  })
  .catch(err => {
    console.error(err);
  });

其中,code 是在 OAuth 2.0 授权流程中获取的授权码。

刷新 Access Token

Access Token 会有过期的时间限制,需要在过期前刷新。可以通过 Infusionsoft.refreshAccessToken() 方法来刷新:

Infusionsoft.refreshAccessToken('refreshToken')
  .then(token => {
    console.log(token);
  })
  .catch(err => {
    console.error(err);
  });

其中,refreshToken 是在获取 Access Token 时返回的 Refresh Token。

访问 Infusionsoft REST API

在获取到 Access Token 后,可以使用 Infusionsoft.apiRequest() 方法来访问 Infusionsoft REST API:

Infusionsoft.apiRequest('GET', '/contacts')
  .then(contacts => {
    console.log(contacts);
  })
  .catch(err => {
    console.error(err);
  });

其中,GET 是 HTTP 请求方法,/contacts 是要请求的 API 路径。

示例代码

下面是一个完整的 Infusionsoft API 使用示例:

const Infusionsoft = require('infusionsoft-node-boilerplate');

const options = {
  clientID: 'yourClientId',
  clientSecret: 'yourClientSecret',
  redirectUri: 'https://example.com/callback',
  scopes: ['full']
};

Infusionsoft.init(options);

// 获取 Access Token
Infusionsoft.getAccessToken('code')
  .then(token => {
    console.log(token);

    // 刷新 Access Token
    return Infusionsoft.refreshAccessToken(token.refresh_token);
  })
  .then(token => {
    console.log(token);

    // 获取联系人列表
    return Infusionsoft.apiRequest('GET', '/contacts');
  })
  .then(contacts => {
    console.log(contacts);
  })
  .catch(err => {
    console.error(err);
  });

总结

通过 Infusionsoft-node-boilerplate,我们可以轻松地使用 Infusionsoft REST API,让开发变得更加快捷和高效。我们只需要了解 OAuth 2.0 授权流程和 Infusionsoft REST API 的调用方法,就可以在自己的应用中集成 Infusionsoft,实现更加灵活和高效的业务逻辑。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/600673e0fb81d47349e53cdf


纠错
反馈