我正在使用Zoho OAuth 2.0,并且已经按照https://www.zoho.com/crm/help/api/v2/#oauth-request中的步骤操作来获取访问令牌和刷新令牌。但是我有一些问题。
这是一个场景:
1. Get authorization token
2. From authorization token, get access token and refresh token.
3. After one hour, I use the refresh token. (then I receive a new access token) - As stated here https://www.zoho.com/crm/help/api/v2/#refreshing-tokens
4. After that, another hour, how is it possible for me to get another access token? As refresh token expires in an hour (similar to access token I assume).
5. When I refresh token, only a new access token is given but not a new refresh token. So after one hour I cannot do another refresh again.
任何人都不知道该如何完成?
答案 0 :(得分:3)
我本人也有类似的用例,我必须说它的文档记录不充分。您的应用程序应该有一个“静态”刷新令牌,并每小时使用它来生成一个新的访问令牌。
身份验证---->刷新-(每小时)->访问权限
因此,对于我的后端,我使用的是预先生成的刷新令牌,并且在该小时的时间结束时生成访问令牌。使用此访问令牌可以与API进行正常交互。
我建议您从多个Zoho模块中阅读文档,因为它们比较差,即使您仅使用一个模块,也可能需要多个示例才能真正理解它(大多数时候auth部分实际上是相同的)。您可以启动here和here。
答案 1 :(得分:0)
Zoho仅通过一个帐户提供一次刷新令牌。因此我们必须保存该刷新令牌以获取新的访问令牌。
答案 2 :(得分:0)
使用此功能创建一个新的访问令牌。您必须在访问令牌过期之前每个小时调用此方法。它会为您生成一个新的访问令牌
function generateAuthTokenfromRefreshToken(test){ ZCRMRestClient.generateAuthTokenfromRefreshToken(process.env.ADMIN_EMAIL_ADDRESS,process.env.REFRESH_TOKEN).then(function(auth_response){
process.env.OAUTH_TOKEN=auth_response.access_token;
logger.log('info', ` new_outh_token :${auth_response.access_token}`);
})