gpt4 book ai didi

google-drive-api - 无法使用 Drive API v3 更新 Google Drive 文件 -- 资源正文包含不可直接写入的字段

转载 作者:行者123 更新时间:2023-12-04 00:06:52 53 4
gpt4 key购买 nike

我正在尝试使用 Google Drive API (v3) 更新文档
在 Google 云端硬盘中。

我已阅读此迁移指南:
Google Drive API v3 Migration

并对其进行编码以使用我要更新的详细信息创建一个新的空 File()
然后用它和文件ID调用execute()。
但我仍然收到错误消息。谁能指出我做错了什么?
多谢!!

错误:

{
"code" : 403,
"errors" : [{
"domain" : "global",

"message" : "The resource body includes fields which are not directly writable.",

"reason" : "fieldNotWritable"
}],
"message" : "The resource body includes fields which are not directly writable."
}

下面的代码片段:
File newFileDetails = new File();        
FileList result = service2.files().list()
.setPageSize(10)
.setFields("nextPageToken, files(id, name)")
.execute();

List<File> files = result.getFiles();

if (files == null || files.size() == 0) {

System.out.println("No files found.");

} else {

System.out.println("Files:");

for (File file : files) {

if (file.getName().equals("first_sheet")) {

System.out.printf("%s (%s)\n", file.getName(), file.getId());


newFileDetails.setShared(true);


service2.files().update(file.getId(), newFileDetails).execute();

}

}

}

最佳答案

在代码中它看起来像这样

Drive service... // your own declared implementation of service
File file = new File(); //using the com.google.api.services.drive.model package
// part where you set your data to file like:
file.setName("new name for file");
String fileID = "id of file, which you want to change";
service.files().update(fileID,file).execute();

尝试更改远程文件中的字段并重写此文件可能会引发安全异常,如以下异常。
但这不是您问题的解决方案。
如果您想通过电子邮件将文件共享到另一个谷歌帐户,您可以通过使用您的应用程序的服务帐户重新实现授权来实现,并添加所需的电子邮件,作为文件的所有者。

关于google-drive-api - 无法使用 Drive API v3 更新 Google Drive 文件 -- 资源正文包含不可直接写入的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212019/

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