При добавлении продукта через json API 400 для покупок Google необходимо указать продукт

У меня возникли проблемы с получением запроса на вставку продукта, работающего с API покупок Google (https://developers.google.com/shopping-content/v2/reference/v2/products/insert). Я отправляю аутентифицированный запрос на публикацию на https://www.googleapis.com/content/v2/shop_id/products?dryRun=true, но получает только статус: 400 с сообщением об ошибке:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "[product] INSERT request must specify product"
   }
  ],
  "code": 400,
  "message": "[product] INSERT request must specify product"
 }
}

Мой запрос выглядит так (сокращено для краткости и зашифровано ssl)

POST /content/v2/<removed>/products?dryRun=true HTTP/1.1
Host: www.googleapis.com
Content-Length: 2102
accept-encoding: gzip, deflate
authorization: Bearer <removed>
user-agent: Python-httplib2/0.9.1 (gzip)

{
  "offerId": 4572, 
  "gtin": "4048669296057", 
  "googleProductCategory": "Apparel & Accessories > Clothing", 
  "targetCountry": "se", 
  "title": "Puma Sweat Pants", 
  "onlineOnly": true, 
  "price": {
    "currency": "SEK", 
    "value": "1337"
  }, 
  "channel": "online", 
  "contentLanguage": "sv", 
  "brand": "Puma", 
  "link": "http://example.com/produkt/puma-sweat-pants"
}

Я знаю, что запрос правильно аутентифицирован, так как я могу удалить аутентификацию и получить другое сообщение. Страница распространенных ошибок Google (https://developers.google.com/shopping-content/v2/how-tos/common-errors) предполагает, что это пакетное задание, но это будет URL https://www.googleapis.com/content/v2


person edruid    schedule 31.07.2015    source источник


Ответы (1)


Я нашел причину своих проблем: я не отправлял заголовок Content-Type: application/json.

person edruid    schedule 04.08.2015