Codice: 400 Errore durante il tentativo di inserire una nuova autorizzazione utilizzando Google Drive API V2
-
11-12-2019 - |
Domanda
Sto usando Google-API-client (0.3.0) Gem per la mia app per le guide per accedere ai dati di un utente tramite API di Google Drive V2.
Ho cercato con successo un file per titolo e poi ha tentato di utilizzare l'ID file dal risultato della ricerca per inserire una nuova autorizzazione.Voglio consentire a livello di programmazione "Chiunque abbia il link" di commentare il file.
A seguito del codice di esempio qui: https://developers.google.com/Drive / V2 / Riferimento / Autorizzazioni / Inserisci , ho scritto il seguente codice:
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 })
.
Ho ricevuto un errore 400.Ecco la discarica hash:
--- !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.
.
Secondo errors.rb Nel codice sorgente GEM, un errore 4xx è un errore client.
Qualsiasi aiuto per il fissaggio di questo bug sarebbe molto apprezzato.
Soluzione
Probabilmente un problema in quella versione della libreria client e c'erano cambiamenti significativi tra 0,3 e 0,4.Ho eseguito lo stesso snippet sulla versione corrente 0.4.4 e ha funzionato bene.Suggerire di aggiornare la dipendenza se possibile.