我正在尝试将文件所有权转移到电子邮件地址。 我发送第一个请求,
var body = {
'emailAddress': value,
'type': type,
'role': "writer"
};
var request = gapi.client.drive.permissions.create({
'fileId': fileId,
'transferOwnership': false,
'resource': body
});
request.execute(function(resp) {
...
});
这将为该电子邮件地址创建一个权限编写者。 之后,在request.execute()回调中, 我发送了第二个请求,
var request2 = gapi.client.drive.permissions.list({
'fileId': fileId
});
body.role = role;
request2.execute(function(resp2) {
var request3 = gapi.client.drive.permissions.update({
'fileId': fileId,
'permissionId': resp2.permissions[1].id, //permission id of writer
'transferOwnership': true,
'resource': {'role':role, 'emailAddress': value}
});
request3.execute(function(resp3) {
console.log(resp3);
});
});
在上面的请求中,我使用permissions.list来获取文件权限id。 然后我使用权限id来更新权限。我使用了transfer.update请求transferOwnership。我在这里遇到的问题是“用户对此文件没有足够的权限。”
我在这里要做的是将文件所有权转移到电子邮件地址。我的代码出了什么问题?如何传输文件所有权?
答案 0 :(得分:0)
您需要考虑文件的新旧所有者。除非他们在同一个Google帐户域中(例如foo@example.com而不是foo@gmail.com),否则您无法转让所有权。虽然听起来不方便,但如果允许这样做会有明显的安全问题。
如果它们位于同一个域中,请确认您的作用域具有足够的权限。