谷歌驱动器中的Node.js更新映像:错误:authorized_client

时间:2019-02-03 17:54:11

标签: node.js google-drive-api

在执行此方法期间:

val amount = args.amount

我收到此错误:

  

token.json缓冲区7b 22 61 63 63 65 73 73 5f 74 6f 6b 65 6e 22 3a ...   API返回了一个错误:错误:authorized_client {错误:   未经授权的客户端

文件function authorize(credentials, callback) { const {client_secret, client_id, redirect_uris} = credentials.installed; const oAuth2Client = new google.auth.OAuth2( client_id, client_secret, redirect_uris[0]); // Check if we have previously stored a token. fs.readFile(TOKEN_PATH, (err, token) => { console.log(TOKEN_PATH); console.log(token); if (err) return getAccessToken(oAuth2Client, callback); oAuth2Client.setCredentials(JSON.parse(token)); callback(oAuth2Client); }); } 是由可以在驱动器中创建文件夹的用户直接从驱动器下载的。 我该怎么解决?

2 个答案:

答案 0 :(得分:0)

在Google搜索后,我发现了this。如果那没有帮助,您能告诉我们您的操作系统和console.log(TOKEN_PATH)的结果吗?

编辑:

让我们说TOKEN = 123456TOKEN位于Users/dadojar/Documents/test中。

console.log(TOKEN_PATH)应打印Users/dadojar/Documents/test

console.log(TOKEN)应打印123456

根据我对您的评论的理解,console.log(TOKEN_PATH)打印123456(不应打印)。

答案 1 :(得分:0)

我用以下代码解决:

 var jwToken = new google.auth.JWT(   key.client_email,   null,   key.private_key, ["https://www.googleapis.com/auth/drive"],   null ); jwToken.authorize((authErr) => {   if (authErr) {
        console.log("error : " + authErr);
        return;   } else {
        console.log("Auth OK");   } });