在没有 UI 的情况下对 People API 进行身份验证

时间:2021-01-15 06:14:32

标签: api oauth-2.0 service-accounts google-people

我想验证个人 Google 帐户以供人员 API 发送获取/发布请求,

但是,我必须避免每次都对 API 进行身份验证,因为会有使用 API 的 cron 作业。一种方法是第一次进行身份验证,然后将刷新令牌用于必要的请求,直到帐户撤销访问权限(通过更改密码或手动删除权限控制台)

有没有办法可以完全避免手动身份验证,因为 cron 作业将在服务器端运行

使用相同的服务帐户但没有获得所需的结果

1 个答案:

答案 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 授权服务器返回在您的应用程序首次为令牌交换授权代码时,一个刷新令牌和一个访问令牌。”