什么是 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);
其中:
clientID
和clientSecret
是 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