código:400 de erro ao tentar inserir uma nova permissão de usar o Google Drive API v2
-
11-12-2019 - |
Pergunta
Eu estou usando o google-api-cliente (0.3.0) gem para os meus Trilhos aplicativo para acessar dados de um usuário através do Google Drive API v2.
Eu com êxito buscado um ficheiro por título e, em seguida, tentou usar o arquivo de identificação do resultado da pesquisa para inserir uma nova permissão.Eu quero programaticamente permitir que "qualquer pessoa com o link" comentário sobre o arquivo.
A seguir o código de exemplo aqui: https://developers.google.com/drive/v2/reference/permissions/insert, Eu escrevi o seguinte 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 })
Eu tenho um erro 400.Aqui é o hash de despejo:
--- !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.
De acordo com a erros.rb na gema de código fonte, um erro 4xx é um erro de cliente.
Qualquer ajuda para consertar esse bug seria muito apreciada.
Solução
Provavelmente um problema em que a versão da biblioteca cliente e não houve alterações significativas entre 0,3 e 0,4.Eu corri o mesmo trecho na versão atual 0.4.4 e ele funcionou bem.Sugiro atualizar a sua dependência, se possível.