gpt4 book ai didi

javascript - 共享文件用户无法使用Google Drive API中的drive.file范围访问文件

转载 作者:行者123 更新时间:2023-11-28 03:20:49 26 4
gpt4 key购买 nike

当共享用户登录App时。共享文件无法访问。 API 返回“未找到文件”。

var SCOPES = ["https://www.googleapis.com/auth/drive.file", "profile"];
function createPermissions(fileId, body) {
gapi.client.load("drive", "v3", function() {
gapi.client.drive.permissions
.create({
fileId: fileId,
resource: body
})
.then(function(res) {
//console.log(res);
Swal.fire("Success!", "File has been success shared!", "success");
// do something
})
.catch(function(err) {
//console.log(err);
Swal.fire({
icon: "error",
title: "Oops...",
text: "Something went wrong! Plese try agian later!!",
footer: ""
});
// do something
});
});
}

上面的代码工作正常,文件已成功共享,但共享用户会收到共享文件的电子邮件通知,并且当共享用户单击共享文件时,可以在 Google 云端硬盘中访问电子邮件文件。即:Manoj(应用程序所有者)在Google APP(Google Drive API)中上传文件并与“Rigal”共享文件。 Rigal 收到共享文件电子邮件通知,文件也显示(访问)在他的 Google 云端硬盘中。但是,当 Rigal 登录应用程序(Google Drive API)时,他无法查看(访问)共享文件。谢谢

最佳答案

可以通过执行搜索查询 q 来过滤列表文件的搜索结果。

  • 如果 Rigal 指定 q 'sharedWithMe' - 只会列出其他人与 Rigal 共享的文件。
  • 如果 Rigal 在所有者中另外指定“test@example.org”,这将允许从结果中消除其他人与 Rigal 共享的文件。
  • 无法区分通过 Manoj 的应用程序与 Rigal 共享的文件,而不是通过 Manoj 手动共享的文件,除非 Monoj 的应用程序使用 service account ,最终与 impersonation ,用于与 Rigal 共享文件。

基于您使用的 Drive v3 API 快速入门的示例:

function listFiles() {
gapi.client.drive.files.list({
'q': "sharedWithMe and 'test@example.org' in owners"
'pageSize': 10,
'fields': "nextPageToken, files(id, name)"
}).then(function(response) {
appendPre('Files:');
var files = response.result.files;
if (files && files.length > 0) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
appendPre(file.name + ' (' + file.id + ')');
}
} else {
appendPre('No files found.');
}
});
}

关于javascript - 共享文件用户无法使用Google Drive API中的drive.file范围访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59172017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com