我正在努力成为一名优秀的Google Apps脚本编写者,并在我的应用中使用较少允许的范围,但是我无法使其与https://www.googleapis.com/auth/drive.file一起使用。
我有一个Gmail插件,需要在用户的Google云端硬盘中创建文件和文件夹。现在,我可以在清单中的https://www.googleapis.com/auth/drive范围内正常工作,因此我知道代码本身的功能。但是,当我将范围更改为https://www.googleapis.com/auth/drive.file时,所有DriveApp方法都无法正常工作,并且出现错误消息,提示我需要https://www.googleapis.com/auth/drive范围。
在DriveApp文档中,它确实表示需要“驱动器”范围,但这是否意味着没有应用程序无法完全访问其所有文件,就无法将数据保存到用户的驱动器中?听起来很疯狂。还是我SOL?我仍然不太了解范围的工作原理,或者是否需要在其他地方进行其他更改以使其起作用。
答案 0 :(得分:1)
这是不可能的,因为没有任何DriveApp方法需要该范围。参考https://developers.google.com/apps-script/reference/drive/drive-app
的评论
我正在使用云端硬盘服务。我正在使用DriveApp.getFoldersByName(),DriveApp.getRootFolder(),DriveApp.createFolder()和DriveApp.createFile()。
请仔细阅读文档。其中包括每种方法所需的范围。
来自https://developers.google.com/apps-script/reference/drive/drive-app#getrootfolder
getRootFolder()
获取位于用户云端硬盘根目录的文件夹。
返回
文件夹-用户云端硬盘的根文件夹
授权
使用此方法的脚本需要具有以下一个或多个范围的授权:
答案 1 :(得分:0)
成功!浏览完Drive API之后,我发现必须启用Drive API并使用Drive.Files.insert()。