2016-10-14 20 views
0

私は働くcURLの呼び出しを持っていますが、私はRubyの宝石rest-clientを使用して、それを翻訳したとき、私は得る:ルビー宝石RestClient、HTTP 415

RestClient :: UnsupportedMediaType:415サポートされていないメディアタイプを

ここ
curl \ 
-X POST \ 
-H "Content-Type:application/json" \ 
-H "Authorization: Bearer MY_TOKEN" \ 
-H "Amazon-Advertising-API-Scope: MY_SCOPE" \ 
-d '{"campaignType":"sponsoredProducts","reportDate":"20161013","metrics":"impressions,clicks,cost"}' \ 
https://advertising-api.amazon.com/v1/productAds/report 

がHTTP 415ステータスを返すRubyのです:

ここ

はそれが働いていた私が使用cURLのです
yesterday = Date.today - 1 
RestClient::Request.execute(
    method: :post, 
    url:  'https://advertising-api.amazon.com/v1/productAds/report', 
    headers: 
    { 
    'Content-Type'     => 'application/json', 
    'Authorization'    => "Bearer #{ENV['AD_ACCESS_TOKEN']}", 
    'Amazon-Advertising-API-Scope' => ENV['AD_PROFILE_ID'] 
    }, 
    payload: 
    { 
    'campaignType' => 'sponsoredProducts', 
    'reportDate' => "#{yesterday.year}#{yesterday.month}#{yesterday.day}", 
    'metrics' => 'impressions,clicks,cost' 
    } 
) 

答えて

1

ペイロードハッシュをJSONに変換する必要がありました。

... 
payload: 
{ 
    ... 
}.to_json 
... 
関連する問題