如何为机器人实现 OAuth 2 Circuit REST API?使用client_id 和client_secret。谢谢你。
问问题
151 次
1 回答
1
请参阅HTTP 请求上的https://circuit.github.io/oauth.html#client_credentials以获取令牌。您可以手动执行 /oauth/token 请求以获取令牌,或使用任何 OAuth 2.0 库。使用此 OAuth 令牌执行常规 HTTP GET/POST 请求。
这是一个使用simple-oauth2获取令牌,然后使用node-fetch获取对话的示例。
const simpleOauth2 = require('simple-oauth2');
const fetch = require('node-fetch');
const DOMAIN = 'https://circuitsandbox.net';
const credentials = {
client: {
id: '<client_id>',
secret: '<cient_secret>'
},
auth: {
tokenHost: DOMAIN
}
};
// Initialize the OAuth2 Library
const oauth2 = simpleOauth2.create(credentials);
(async () => {
try {
const { access_token: token } = await oauth2.clientCredentials.getToken({scope: 'ALL'})
console.log('Access Token: ', token);
const convs = await fetch(`${DOMAIN}/rest/conversations`, {
headers: { 'Authorization': 'Bearer ' + token },
}).then(res => res.json());
console.log('Conversations:', convs);
} catch (err) {
console.error(err);
}
})();
于 2018-08-14T14:03:08.833 回答