【发布时间】:2019-12-04 08:44:03
【问题描述】:
当共享用户在 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
});
});
}
上述代码工作正常,文件已成功共享,但共享用户收到共享文件的电子邮件通知,当共享用户单击共享文件时,电子邮件文件可在谷歌驱动器中访问。即:Manoj(应用程序所有者)在 google APP(google drive API)中上传文件并与“Rigal”共享文件。 Rigal 收到共享文件电子邮件通知,并且文件也在他的谷歌驱动器中显示(访问)。但是当 Rigal 登录应用程序(谷歌驱动 API)时,他无法查看(访问)共享文件。 谢谢
【问题讨论】:
-
如果 Manoj 在不使用 API 的情况下手动与 Rigal 共享文件,您是否会遇到同样的问题?当共享用户在电子邮件中单击指向已与他共享的文件的链接时,文件/他的驱动器是否正在使用与文件共享的相同帐户打开?或者用户可能有第二个帐户?
-
您好,@ziganotschka 是的,我已手动检查是否与 rigal 共享文件,并且已成功共享当我使用 API 登录后,共享文件未使用 API 显示。
-
所以文件已成功共享,但当 Rigal 尝试使用 API 以编程方式访问它时没有显示?您能否提供 Rigal 用于访问该文件的代码?
-
你好,@ziganotschka 我关注developers.google.com/drive/api/v3/quickstart/js 链接以从谷歌驱动器获取文件。我改变了 var SCOPES = "googleapis.com/auth/drive.file";在上面的代码示例中。
-
用户能否访问不同范围的文件,例如:
https://www.googleapis.com/auth/drive?文档 developers.google.com/identity/protocols/googlescopes 指定https://www.googleapis.com/auth/drive.file仅允许您“查看和管理您使用此应用打开或创建的 Google Drive 文件和文件夹”
标签: javascript google-api google-drive-api