Google Drive - 使用 Node 通过 JSONClient 进行身份验证

问题描述 投票:0回答:1

我已成功使用 OAuth2 进行身份验证,现在拥有一个身份验证令牌。

加载此令牌会返回一个

JSONClient
:

const authClient = google.auth.fromJSON(credentials);

现在尝试使用这个

JSONClient
给我输入错误:

const drive = google.drive({ version: "v3", auth: authClient });
No overload matches this call.
  The last overload gave the following error.
    Type 'JSONClient' is not assignable to type 'string | BaseExternalAccountClient | GoogleAuth<JSONClient> | OAuth2Client | undefined'.
      Type 'ExternalAccountAuthorizedUserClient' is not assignable to type 'string | BaseExternalAccountClient | GoogleAuth<JSONClient> | OAuth2Client | undefined'.

代码运行良好,但 VS code 给了我类型错误,这让我很烦恼!

从保存的令牌获取云端硬盘(或文档等,都是一样的)客户端的正确方法是什么?

令人难以置信的是,人工智能并没有为我解决所有问题。

node.js google-drive-api google-oauth
1个回答
0
投票

显式断言 authClient 的类型为 OAuth2Client。在某些情况下,TypeScript 可能无法推断出正确的类型。

const Drive = google.drive({ 版本: "v3", auth: authClient as OAuth2Client });

这告诉 TypeScript 您知道 authClient 的类型是 OAuth2Client。虽然它可能无法消除编辑器中的错误,但它应该可以在运行时解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.