コード:400 GoogleドライブAPI v2を使用して新しい権限を挿入しようとしたときにエラーが発生しました

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

  •  11-12-2019
  •  | 
  •  

質問

Google Drive API V2を介してユーザーのデータにアクセスするために、Google-API-Client(0.3.0)GEMを使用しています。

私はファイルをタイトルで検索してから、検索結果からファイルIDを使用して新しい権限を挿入しようとしました。プログラム的に「リンクを持っている人」を「誰でも」とファイルにコメントすることができます。

ここでのサンプルコードの後: https://developers.google.com/ドライブ/ 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.
.

GEMソースコードのerrors.rbに従って、4xxエラーはクライアントエラーです。

このバグを修正するのは大いに感謝されるでしょう。

役に立ちましたか?

解決

そのバージョンのクライアントライブラリの問題であり、0.3から0.4の間で大きな変化がありました。私は現在のバージョン0.4.4で同じスニペットを実行し、それはうまくいった。可能な限り依存関係を更新することを提案してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top