我想验证个人 Google 帐户以供人员 API 发送获取/发布请求,
但是,我必须避免每次都对 API 进行身份验证,因为会有使用 API 的 cron 作业。一种方法是第一次进行身份验证,然后将刷新令牌用于必要的请求,直到帐户撤销访问权限(通过更改密码或手动删除权限控制台)
有没有办法可以完全避免手动身份验证,因为 cron 作业将在服务器端运行
使用相同的服务帐户但没有获得所需的结果
答案 0 :(得分:1)
见https://developers.google.com/identity/protocols/oauth2/web-server
您可以一次(第一次)同意您的应用程序,并在授权参数中设置可选的 async function randomReddit(reddit) {
return new Promise((res, rej) => {
axios.get(`https://www.reddit.com/r/${reddit}/random/.json`)
.then(function (response) {
res(response[0].data.children[0].data);
})
.catch(function (error) {
rej(error);
})
})
}
promiseRetry(function (retry) {
return randomReddit('test')
.then(data => {
let regex = /.(jpg|gif|png)$/;
let test = regex.test(data.url);
if (test) return data;
return retry();
})
}).then(function (value) {
// Do smthg
});
。
"如果您的应用程序需要在用户不在浏览器中时刷新访问令牌,则将该值设置为离线。这是本文档后面描述的刷新访问令牌的方法。该值指示 Google 授权服务器返回在您的应用程序首次为令牌交换授权代码时,一个刷新令牌和一个访问令牌。”