2017-09-16 1 views
0

Je suis en train d'utiliser la méthode de updateListing pour réviser les descriptions de liste ...Etsy API updateListing

https://www.etsy.com/developers/documentation/reference/listing#method_updatelisting

Je suis passé par le processus d'authentification OAuth et avec succès suis en mesure de faire une demande autorisée via l'API comme par l'exemple dans la documentation. J'ai des problèmes avec la méthode updateListing. Je suis en train de réviser la description, mais l'erreur suivante ...

« auth/mauvaise demande non valide (obtenu 400, attendu HTTP/1.1 20X ou une redirection) prévue param « quantity'.Array »

Comme Selon la documentation, la quantité n'est pas requise (et est effectivement amortie pour updateListing). Lorsque j'utilise la quantité existante pour renseigner 'quantité' dans le tableau (commenté), il se plaint d'un autre champ qu'il attend. Je ne suis pas sûr pourquoi je reçois une erreur concernant ces champs car ils ne sont pas nécessaires. Cela ne me dérangerait pas d'utiliser les attributs existants disponibles dans ma liste pour remplir ces champs, mais il y a un champ "shipping_template_id" que je n'ai pas actuellement disponible. Je ne peux pas le définir sur null car il attend une valeur numérique. Lorsque je le mets à 0, il est indiqué que ce n'est pas un ID de modèle d'expédition valide. Je dois faire quelque chose de mal.

Voici mon code (je l'ai remplacé mon jeton réelle et secrets jeton) ...

$ access_token = "mon jeton"; $ access_token_secret = "mon secret";

$ oauth = new OAuth (oauth_consumer_key, OAUTH_CONSUMER_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);

$ oauth-> setToken ($ access_token, $ access_token_secret);

try {

$url = "https://openapi.etsy.com/v2/private/listings"; 

$params = array('listing_id' => $result->listing_id, 
           //'quantity' => $result->quantity, 
           //'title' => $result->title, 
           'description' => $new_description); 

$oauth->fetch($url, $params, OAUTH_HTTP_METHOD_POST); 
$json = $oauth->getLastResponse(); 
print_r(json_decode($json, true)); 

} catch (OAuthException $ e) {

echo $e->getMessage(); 
echo $oauth->getLastResponse(); 
echo $oauth->getLastResponseInfo(); 

}

Répondre

0
$args = array(
            'data' => array(
             "quantity" => $quantity, 
             "title" => $title, 
             "description" => strip_tags($description), 
             "price" => $price, 
             "materials" => $materials, 
             "shipping_template_id" =>(int)$shippingTemplateId, 

             "non_taxable" => false, 
             "state" => "$ced_etsy_upload_product_type", 
             "processing_min" => 1, 
             "processing_max" => 3, 

             "taxonomy_id" => (int)$categoryId, 
             "who_made" => $who_made, 
             "is_supply" => true, 
             "when_made" => $when_made, 

            ) 
           ); 

S'il vous plaît essayer ce peut être cela vous aidera.