让Google文件选择器与drive.file范围一起使用

我正在尝试使用Google文件选择器来选择文档,然后更新其权限。 我不需要访问所有选定的驱动器文件。

但是,在使用https://www.googleapis.com/auth/drive.file范围时,我在尝试更改文档权限时收到404错误。 如果我使用https://www.googleapis.com/auth/drive范围,我不会收到此错误,但这会给我提供比我需要的更多访问权限。

有没有办法让文件选择器使用更有限的https://www.googleapis.com/auth/drive.file范围?

这是我的文件选择器代码:

   // Use the Google Loader script to load the google.picker script. //google.setOnLoadCallback(createPicker); google.load('picker', '1'); // Create and render a Picker object function createPicker() { var view = new google.picker.DocsView(google.picker.ViewId.DOCS); view.setMode(google.picker.DocsViewMode.LIST); //view.setMimeTypes("image/png,image/jpeg,image/jpg"); var picker = new google.picker.PickerBuilder() //.enableFeature(google.picker.Feature.NAV_HIDDEN) //.enableFeature(google.picker.Feature.MULTISELECT_ENABLED) .setAppId("") .setOAuthToken("") //Optional: The auth token used in the current Drive API session. .addView(view) .addView(new google.picker.DocsUploadView()) .setCallback(pickerCallback) .build(); picker.setVisible(true); } // callback implementation. function pickerCallback(data) { var url = 'nothing'; if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) { var doc = data[google.picker.Response.DOCUMENTS][0]; url = doc[google.picker.Document.URL]; title = doc.name; id = doc.id; type = doc.type; embed = doc[google.picker.Document.EMBEDDABLE_URL ]; } 

感谢Google朋友关于Google Plus的Google云端硬盘开发者讨论的帮助,回答了我自己的问题:

这确实有效。 我在我的选择器实现中使用了错误的App_ID – 我只需要在客户端ID的开头使用数字字符串。 另一个问题是,它不适用于localhost,仅适用于生产。

完整讨论: https : //plus.google.com/u/0/108228914813783364664/posts/RgvmZwJcbE8

如果您要修改的文件不是由您的应用程序创建的,则除了drive范围之外,不会限制范围。