我正在尝试使用谷歌云盘API创建一个电子表格,以下是我的代码,但是我无法访问它。
[更新:这个文件似乎不在我指定的云盘中,有人知道为什么吗?]
[更新:在字段中添加了父级,但出现404错误,显示未找到文件。如果有人知道原因,请提前感谢。]
func (dr *driveService) CreateFile(driveId string, fileName string, parents []string) (*drive.File, error) {
file := &drive.File{
DriveId: driveId,
Name: fileName,
MimeType: mimeTypeSpreadsheet,
Parents: parents,
}
file, err := dr.googleDriveService.Files.Create(file).Do()
return file, err
}
我尝试使用这段代码创建/更新权限,但出现了以下错误:Error 403: The resource body includes fields which are not directly writable., fieldNotWritable
func (dr *driveService) CreatePermission(fileId string, permissionType string, permissionRole string) error {
permissionToBeCreated := &drive.Permission{
Type: permissionType,
Role: permissionRole,
}
filePermission, err := dr.googleDriveService.Permissions.Create(fileId, permissionToBeCreated).Do()
if err != nil {
fmt.Printf("An error occurred creating permission for file: %v\n", err)
return err
}
_, err = dr.googleDriveService.Permissions.Update(fileId, filePermission.Id,filePermission).Do()
if err != nil {
fmt.Printf("An error occurred: %v\n", err)
return err
}
return nil
}
我试图在第二个函数中删除update
部分,但文件的权限出现了nil
。
那么,有人有任何想法如何解决这个问题吗?或者一般来说,我如何创建一个每个人都可以使用链接访问的电子表格呢?
谢谢!
file, err := dr.googleDriveService.Files.Create(file).Do()
这里,应该将supportAllDrives
设置为true
。否则它不会起作用。非常感谢! - kangtsupportsAllDrives
自2020年6月以来就应该被弃用了。您使用的库版本是什么? - IamblichussupportsTeamDrive
已经被弃用了,但supportAllDrives
没有。 - kangtsupportsAllDrives: boolean, Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.
(我使用这个库在共享驱动器中创建了一个文件,没有设置supportsAllDrives
)。https://developers.google.com/resources/api-libraries/documentation/drive/v3/python/latest/drive_v3.files.html - Iamblichus