Java
Java
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 Java Downloads
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
boolean success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkRest rest = new CkRest();
// See this example for getting an OAuth1 token for Etsy
CkJsonObject json = new CkJsonObject();
success = json.LoadFile("qa_data/tokens/etsy.json");
if (success == false) {
System.out.println("Failed to load previously fetched Etsy OAuth1 access token.");
return;
}
CkOAuth1 oauth1 = new CkOAuth1();
oauth1.put_ConsumerKey("app_keystring");
oauth1.put_ConsumerSecret("app_shared_secret");
oauth1.put_Token(json.stringOf("oauth_token"));
oauth1.put_TokenSecret(json.stringOf("oauth_token_secret"));
oauth1.put_SignatureMethod("HMAC-SHA1");
oauth1.GenNonce(16);
boolean autoReconnect = true;
boolean tls = true;
success = rest.Connect("openapi.etsy.com",443,tls,autoReconnect);
if (success == false) {
System.out.println(rest.lastErrorText());
return;
}
// Tell the REST object to use the OAuth1 object.
success = rest.SetAuthOAuth1(oauth1,true);
String 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");
String jsonResponseText = rest.fullRequestFormUrlEncoded("PUT","/v2/listings/228827035/inventory");
if (rest.get_LastMethodSuccess() == false) {
System.out.println(rest.lastErrorText());
return;
}
CkJsonObject jsonResponse = new CkJsonObject();
jsonResponse.Load(jsonResponseText);
jsonResponse.put_EmitCompact(false);
System.out.println(jsonResponse.emit());
System.out.println("Response status code: " + rest.get_ResponseStatusCode());
}
}