Mi aplicación web se está integrando con Google Picker.
He separado el flujo para user to link their email account con el alcance "https://www.googleapis.com/auth/drive.file" y stored the user OAuth Token . Luego, el token de acceso se usa para cargar Google Picker. Tengo el manejo para refresh access token before it expiry .
Aquí el fragmento de código
createPicker(accessToken) { if (pickerApiLoaded && oAuthToken) { let view = new window.google.picker.View(window.google.picker.ViewId.DOCS); let picker = new window.google.picker.PickerBuilder() .enableFeature(window.google.picker.Feature.MULTISELECT_ENABLED) .setAppId(appConfigs.googleAppId) .setOAuthToken(accessToken) .addView(view) .addView(new window.google.picker.DocsUploadView()) .setDeveloperKey(appConfigs.googleDeveloperKey) .setCallback(this.pickerCallback) .build(); picker.setVisible(true); } }Los siguientes son los escenarios que probé:
Funciona en la cuenta personal @gmail y en la cuenta @test.workspace.com.
Sin embargo, cuando se prueba usando real workspace account . por ejemplo, @workspace.com. Recibo 403: insufficient permission al usar el token de acceso en Google Picker. Siento que es poco probable debido a la lógica del código. Podría haber algunas configuraciones en el lado del espacio de trabajo.
NOTA: no estoy usando el dominio real aquí ya que se supone que no debo exponerlo aquí
Tengo acceso limitado (administrado por un tercero, soy un proveedor) a la cuenta real del espacio de trabajo. Por favor ayuda.
