PHP ActiveX
PHP ActiveX
Update an Inventory Listing using OAuth1 Authentication
See more Etsy Examples
Updates an inventory listing. This example uses OAuth1 authentication instead of providing an api_key=MY_ETSY_KEYSTRING query parameter.Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$rest = new COM("Chilkat.Rest");
// See this example for getting an OAuth1 token for Etsy
$json = new COM("Chilkat.JsonObject");
$success = $json->LoadFile('qa_data/tokens/etsy.json');
if ($success == 0) {
print 'Failed to load previously fetched Etsy OAuth1 access token.' . "\n";
exit;
}
$oauth1 = new COM("Chilkat.OAuth1");
$oauth1->ConsumerKey = 'app_keystring';
$oauth1->ConsumerSecret = 'app_shared_secret';
$oauth1->Token = $json->stringOf('oauth_token');
$oauth1->TokenSecret = $json->stringOf('oauth_token_secret');
$oauth1->SignatureMethod = 'HMAC-SHA1';
$oauth1->GenNonce(16);
$autoReconnect = 1;
$tls = 1;
$success = $rest->Connect('openapi.etsy.com',443,$tls,$autoReconnect);
if ($success == 0) {
print $rest->LastErrorText . "\n";
exit;
}
// Tell the REST object to use the OAuth1 object.
$success = $rest->SetAuthOAuth1($oauth1,1);
$jsonText = '[{\'product_id\':1999949999,\'property_values\':[],\'offerings\':[{\'offering_id\':9999905883,\'price\':\'36.23\',\'quantity\':1}]}]';
$rest->AddQueryParam('products',$jsonText);
$rest->AddHeader('Content-Type','application/x-www-form-urlencoded');
$jsonResponseText = $rest->fullRequestFormUrlEncoded('PUT','/v2/listings/228827035/inventory');
if ($rest->LastMethodSuccess == 0) {
print $rest->LastErrorText . "\n";
exit;
}
$jsonResponse = new COM("Chilkat.JsonObject");
$jsonResponse->Load($jsonResponseText);
$jsonResponse->EmitCompact = 0;
print $jsonResponse->emit() . "\n";
print 'Response status code: ' . $rest->ResponseStatusCode . "\n";
?>