コード:400 GoogleドライブAPI v2を使用して新しい権限を挿入しようとしたときにエラーが発生しました
-
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で同じスニペットを実行し、それはうまくいった。可能な限り依存関係を更新することを提案してください。
所属していません StackOverflow