Código: 400 Error al intentar insertar un nuevo permiso usando Google Drive API V2

StackOverflow https://stackoverflow.com//questions/11662325

  •  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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top