Conseguir que el selector de archivos de Google funcione con drive.file scope

Estoy tratando de usar el selector de archivos de Google para seleccionar un documento y luego actualizar sus permisos. No necesito acceso a todos los archivos de Drive, solo a los seleccionados.

Sin embargo, cuando utilizo el ámbito https://www.googleapis.com/auth/drive.file , aparece un error 404 cuando bash cambiar los permisos del documento. No obtengo este error si utilizo el ámbito https://www.googleapis.com/auth/drive , pero esto me da más acceso del que necesito.

¿Hay alguna forma de hacer que el selector de archivos trabaje con el scope más limitado de https://www.googleapis.com/auth/drive.file ?

Aquí está mi código de selección de archivos:

   // 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 ]; } 

Respondiendo a mi propia pregunta gracias a la ayuda de la gente en la discusión del desarrollador de Google Drive en Google Plus:

Esto funciona. Estaba usando la App_ID incorrecta en la implementación de mi selector: necesitaba usar solo la cadena numérica al comienzo de la ID del cliente. El otro problema, no funciona en localhost, solo en producción.

Discusión completa aquí: https://plus.google.com/u/0/108228914813783364664/posts/RgvmZwJcbE8

Si está modificando un archivo que su aplicación no ha creado, no existe un ámbito más restringido que el de la drive .