返回顶部
首页 > 资讯 > 后端开发 > GO >在 Go/ 中创建/更新 google 驱动器权限
  • 763
分享到

在 Go/ 中创建/更新 google 驱动器权限

2024-04-04 23:04:42 763人浏览 独家记忆
摘要

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《在 Go/ 中创建/更新 google 驱动器权限》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~问题内

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《在 Go/ 中创建/更新 google 驱动器权限》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我正在尝试使用 google drive 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 contains fields which are not direct 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

那么,有人知道如何解决这个问题吗?或者一般来说,我如何创建一个每个人都有链接可以访问的电子表格?

谢谢!


解决方案


通过在创建文件时将 supportAllDrives 设置为 true 修复了该问题。 然而,这应该已经被弃用,但不是在我的版本上。

编辑

看起来 supportsAllDrives 不再被弃用,至少目前是这样。在官方文档中找不到弃用说明,因此似乎仍然支持。

此外,查看 this article,似乎对共享云端硬盘的更改已被推迟:

理论要掌握,实操不能落!以上关于《在 Go/ 中创建/更新 google 驱动器权限》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!

您可能感兴趣的文档:

--结束END--

本文标题: 在 Go/ 中创建/更新 google 驱动器权限

本文链接: https://www.lsjlt.com/news/596211.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作