2015-07-31 4 views
0

J'ai des difficultés à obtenir une demande d'insertion de produit avec l'API google shopping (https://developers.google.com/shopping-content/v2/reference/v2/products/insert). J'envoie une demande de poste authentifié https://www.googleapis.com/content/v2/shop_id/produits DryRun = true mais seulement le statut se: 400 avec le message d'erreur:Ajout de produit via google shopping json L'API 400 doit spécifier le produit

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

Ma demande ressemble à ceci (raccourci par souci de concision et ssl crypté)

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" 
} 

Je sais que la requête est correctement authentifiée car je peux supprimer l'authentification et obtenir un message différent. Googles Erreurs courantes Page (https://developers.google.com/shopping-content/v2/how-tos/common-errors) suggère que c'est un traitement par lots, mais ce serait l'url https://www.googleapis.com/content/v2/products/batch

Répondre

0

J'ai trouvé la raison de mes ennuis: je n'envoie l'en-tête Content-Type: application/json.