如何通过发送请求从 Zoom 获取访问令牌?
How to get access token from Zoom by sending a request?
我一直致力于将 Zoom 视频会议 API 集成到我的 Web 应用程序中。通过使用 OAuth 并将我的应用程序授权给 Zoom,我获得了一个授权代码,可用于从 Zoom 获取访问令牌以发出后续 API 请求。我正在向 https://zoom.us/oauth/token endpoint according to this documentation 发送节点请求以获取访问令牌。
我不知道他们为什么使用 zoomcallback
作为端点。以下是发送请求以获取访问令牌的代码:
router.get('/zoomcallback', function(req, res) {
const zoomtokenep = "https://zoom.us/oauth/token";
const myappredirect = "https://myapp.io/zoomcallback";
if (req.query.code) {
var auth = "Basic " + new Buffer(zoomclientid + ':' +
zoomclientsec).toString('base64');
var url = zoomtokenep + '?grant_type=authorization_code&code=' +
req.query.code + '&redirect_uri=' + myappredirect;
request.post({
url: url,
headers: {
"Authorization": auth
}
}, function(error, response, body) {
if (error) {
console.log("Error when getting Zoom token = " + error);
return;
}
body = JSON.parse(body);
if (body.access_token) {
accessToken = body.access_token;
refreshToken = body.refresh_token;
// Process and securely store these tokens
} else {
console.log("FATAL - could not get zoom token");
}
return;
});
} else {
console.log("Missing code from Zoom");
}
});
这是针对此请求的成功响应:
{
"access_token": "5kwaMOrdEFWx1jYVK8qg80cImPYBA83Zff",
"token_type": "bearer",
"refresh_token": "Ggf2816C5ANa6XVplzO8vwE6IRIXtjvE",
"expires_in": 3599,
"scope": "meeting:write user:read recording:write webinar:write"
}
你误解了这里的流程。任何外部身份验证提供程序的流程是:
- 点击某个按钮,重定向到他们的(在您的情况下,缩放)登录页面。
- 用户在那里提供用户名和密码并登录,然后 auth 提供程序(即缩放)使用
access code
. 重定向到您的应用程序
- 现在,您的应用程序将解密或理解访问代码并从该访问代码中获取(某种)授权代码。并将授权码与所有 REST api 请求一起使用。
现在,这里,第二点是 /zoomcallback
出现的地方。您需要在 ZOOM 仪表板中设置它将重定向的位置。在教程中提供的 /zoomcallback
但它可能是任何东西。
基本上,您需要一个路由,zoom 将重定向到该路由,您将在其中获取身份验证令牌并在 Apis 中使用它。
我一直致力于将 Zoom 视频会议 API 集成到我的 Web 应用程序中。通过使用 OAuth 并将我的应用程序授权给 Zoom,我获得了一个授权代码,可用于从 Zoom 获取访问令牌以发出后续 API 请求。我正在向 https://zoom.us/oauth/token endpoint according to this documentation 发送节点请求以获取访问令牌。
我不知道他们为什么使用 zoomcallback
作为端点。以下是发送请求以获取访问令牌的代码:
router.get('/zoomcallback', function(req, res) {
const zoomtokenep = "https://zoom.us/oauth/token";
const myappredirect = "https://myapp.io/zoomcallback";
if (req.query.code) {
var auth = "Basic " + new Buffer(zoomclientid + ':' +
zoomclientsec).toString('base64');
var url = zoomtokenep + '?grant_type=authorization_code&code=' +
req.query.code + '&redirect_uri=' + myappredirect;
request.post({
url: url,
headers: {
"Authorization": auth
}
}, function(error, response, body) {
if (error) {
console.log("Error when getting Zoom token = " + error);
return;
}
body = JSON.parse(body);
if (body.access_token) {
accessToken = body.access_token;
refreshToken = body.refresh_token;
// Process and securely store these tokens
} else {
console.log("FATAL - could not get zoom token");
}
return;
});
} else {
console.log("Missing code from Zoom");
}
});
这是针对此请求的成功响应:
{
"access_token": "5kwaMOrdEFWx1jYVK8qg80cImPYBA83Zff",
"token_type": "bearer",
"refresh_token": "Ggf2816C5ANa6XVplzO8vwE6IRIXtjvE",
"expires_in": 3599,
"scope": "meeting:write user:read recording:write webinar:write"
}
你误解了这里的流程。任何外部身份验证提供程序的流程是:
- 点击某个按钮,重定向到他们的(在您的情况下,缩放)登录页面。
- 用户在那里提供用户名和密码并登录,然后 auth 提供程序(即缩放)使用
access code
. 重定向到您的应用程序
- 现在,您的应用程序将解密或理解访问代码并从该访问代码中获取(某种)授权代码。并将授权码与所有 REST api 请求一起使用。
现在,这里,第二点是 /zoomcallback
出现的地方。您需要在 ZOOM 仪表板中设置它将重定向的位置。在教程中提供的 /zoomcallback
但它可能是任何东西。
基本上,您需要一个路由,zoom 将重定向到该路由,您将在其中获取身份验证令牌并在 Apis 中使用它。