Код: 400 Ошибка При попытке вставить новую разрешение с использованием Google Drive API V2

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

  •  11-12-2019
  •  | 
  •  

Вопрос

Я использую Gegle-API-Client (0.3.0) GEM для моего приложения Rails для доступа к данным пользователя через API Google Drive V2.

Я успешно искал файл по названию, а затем попытался использовать идентификатор файла из результата поиска, чтобы вставить новое разрешение.Я хочу программно разрешать «любой со ссылкой», чтобы комментировать файл.

После примерного кода здесь: https://developers.google.com/Drive / V2 / Ссылка / Разрешения / Вставить , написал следующий код:

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 })
.

Я получил ошибку 400.Вот свалка хеша:

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

Согласно ошибкам. rb в исходном коде GEM, ошибка 4xx - это ошибка клиента.

Любая помощь, исправленная эта ошибка, будет очень оценена.

Это было полезно?

Решение

Скорее всего, проблема в этой версии клиентской библиотеки, и были значительные изменения от 0,3 до 0,4.Я пробежал тот же фрагмент на текущей версии 0.4.4, и это работало нормально.Предложить обновление вашей зависимости, если вообще возможно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top