Código: 400 Error al intentar insertar un nuevo permiso usando Google Drive API V2
-
11-12-2019 - |
Pregunta
Estoy usando Google-API-Client (0.3.0) GEM para My Rails App para acceder a los datos de un usuario a través de Google Drive API V2.
Búsqueda con éxito un archivo por título y luego intenté usar el ID de archivo del resultado de búsqueda para insertar un nuevo permiso.Quiero permitir programar "cualquier persona con el enlace" para comentar el archivo.
Siguiendo el código de muestra aquí: https://developers.google.com/Drive / V2 / Referencia / Permisos / Insertar , escribí el siguiente código:
new_permission = gDriveApi.permissions.insert.request_schema.new({
'role' => "reader",
'type' => "anyone",
'value' => "",
'additionalRoles' => ["commenter"],
'withLink' => true })
result = client.execute(:api_method => gDriveApi.permissions.insert,
:body_object => new_permission,
:parameters => { 'fileId' => file_id })
Tengo un error 400.Aquí está el hash DUMP:
--- !ruby/object:Google::APIClient::Schema::Drive::V2::Permission
data:
error:
errors:
- domain: global reason: parseError
message: This API does not support parsing form-encoded input.
code: 400
message: This API does not support parsing form-encoded input.
Según Errors.rb En el código fuente de GEM, un error 4XX es un error de cliente.
Cualquier ayuda para arreglar este error sería muy apreciado.
Solución
Probablemente un problema en esa versión de la biblioteca de clientes y hubo cambios significativos entre 0.3 y 0.4.Corrí el mismo fragmento en la versión actual 0.4.4 y funcionó bien.Sugiera actualizar su dependencia si es posible.