我有一个应用程序,使用Drive Api将文件从一个帐户复制到另一个帐户。
首先将源帐户的文档共享到目标,然后在目标上创建共享文件的本地副本。
到目前为止,我一直在为一些帐户工作。我有一个帐户,该应用程序无法复制该文件。我收到了一个身份验证错误,如下所示:
{ errors:
[ { domain: 'global',
reason: 'userAccess',
message: 'The authenticated user does not have the required access to the file PKb_fEw17FE',
locationType: 'header',
location: 'Authorization' } ],
code: 403,
message: 'The authenticated user does not have the required access to the file PKb_fEw17FE' }
一些重要的事情:
这可能与配额有关吗?
一条附加信息: 副本的请求主体仅包括新文件的标题。请参阅下面的代码(nodejs)
var body = {'title': file.title };
var request = client.drive.files.copy({'fileId': file.id}, body);
request.withAuthClient(auth2).execute(function (err, resp)
答案 0 :(得分:2)
发现问题。似乎在复制文件时没有声明父级它有时会将其复制到Root目录,有时会尝试将其复制到另一个地方(我假设与原始父级相同)。
我指定应将所有文件复制到root forlder,为父级添加ID,问题就解决了。
var body = {'title': file.title,
'parents': [ {'id': wr_new_parentroot} ]
};
console.log('Request Body: %j', body);
var request = client.drive.files.copy({'fileId': file.id}, body);
request.withAuthClient(auth2).execute(function (err, resp) {