我已成功使用 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 给了我类型错误,这让我很烦恼!
从保存的令牌获取云端硬盘(或文档等,都是一样的)客户端的正确方法是什么?
令人难以置信的是,人工智能并没有为我解决所有问题。
显式断言 authClient 的类型为 OAuth2Client。在某些情况下,TypeScript 可能无法推断出正确的类型。
const Drive = google.drive({ 版本: "v3", auth: authClient as OAuth2Client });
这告诉 TypeScript 您知道 authClient 的类型是 OAuth2Client。虽然它可能无法消除编辑器中的错误,但它应该可以在运行时解决问题。