【发布时间】:2021-02-21 22:12:03
【问题描述】:
我想使用客户端 JS 在 Google Drive App Data 文件夹(API 文档https://developers.google.com/drive/api/v3/appdata)中创建一个 Google Sheet。
我可以像这样创建非表格文件(在处理完所有身份验证内容后,按照browser quickstart for the Sheets API):
gapi.client.drive.files.create({
resource: {
name: 'myfile.txt',
parents: ['appDataFolder'],
mimeType: 'text/plain'
},
fields: 'id'
}).then(res => {
console.log("Created OK: response was ", res);
}).catch(e => {
console.log("Creation failed: error was ", e)
})
但是,如果我使用 mimeType: 'application/vnd.google-apps.spreadsheet',则会收到此错误:
reason: "notSupportedForAppDataFolderFiles",
message: "Method not supported for files within the Application Data folder."
此错误消息似乎完全没有记录。我的怀疑是这是不允许的:您不能将 Google 表格存储在 App Data 文件夹中,可能是因为表格真正没有作为文件存储在 Drive 中所有这些都是通过 Drive 团队的某种 UI 伪造而出现的。但我没有确认这一点。
我想这样做的原因是请求访问 App Data 文件夹的应用程序不需要请求访问所有其他文件。如果我无法在 App Data 文件夹中放置工作表,那么据我所知,为了创建电子表格,我的应用需要请求完全访问用户的电子表格所有,它完全不需要;它将使用自己的,仅此而已。我不想要求该访问权限,因为用户会(正确地)将其视为大规模的过度访问。
【问题讨论】:
标签: google-drive-api google-sheets-api google-authentication