如何使用googleapis-npm包从刷新令牌中获取新的访问令牌



我似乎在任何地方都找不到答案。所有的文档都说刷新令牌用于获取新的访问令牌,但没有解释这是如何实际工作的。

通常我会使用这个功能,并附上你从谷歌同意页面获得的代码:CCD_ 1。所以我期待这样的事情:CCD_ 2。但是没有。我只是误解了刷新令牌的概念吗?

如果您已经有了刷新令牌,并且您想使用从Node.js的刷新令牌中检索到的访问令牌来使用Google API,那么下面的示例脚本如何?

示例脚本:

const { google } = require("googleapis");
const oauth2Client = new google.auth.OAuth2(
"###", // Please set your client ID.
"###", // Please set your client secret.
"###", // Please set your redirect uri.
);
oauth2Client.setCredentials({
refresh_token: "###" // Please set your refresh token.
});
// If you want to retrieve the access token from the refresh token, you can use the following sample script.
oauth2Client.getAccessToken((err, token) => {
if (err) {
console.log(err);
return;
}
console.log(token);
});
// The following script is a sample script for using Drive API.
// In this case, it is required to include the scope for using Drive API. Please be careful this.
// const drive = google.drive({ version: "v3", auth: oauth2Client });
// drive.files.list({ pageSize: 10, fields: "files(name)" }, (err, res) => {
//   if (err) {
//     console.log(err);
//     return;
//   }
//   console.log(res.data);
// });

参考:

  • Google API Node.js客户端

最新更新