Go
Go
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 Go Downloads
success := false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest := chilkat.NewRest()
// See this example for getting an OAuth1 token for Etsy
json := chilkat.NewJsonObject()
success = json.LoadFile("qa_data/tokens/etsy.json")
if success == false {
fmt.Println("Failed to load previously fetched Etsy OAuth1 access token.")
rest.DisposeRest()
json.DisposeJsonObject()
return
}
oauth1 := chilkat.NewOAuth1()
oauth1.SetConsumerKey("app_keystring")
oauth1.SetConsumerSecret("app_shared_secret")
oauth1.SetToken(json.StringOf("oauth_token"))
oauth1.SetTokenSecret(json.StringOf("oauth_token_secret"))
oauth1.SetSignatureMethod("HMAC-SHA1")
oauth1.GenNonce(16)
autoReconnect := true
tls := true
success = rest.Connect("openapi.etsy.com",443,tls,autoReconnect)
if success == false {
fmt.Println(rest.LastErrorText())
rest.DisposeRest()
json.DisposeJsonObject()
oauth1.DisposeOAuth1()
return
}
// Tell the REST object to use the OAuth1 object.
success = rest.SetAuthOAuth1(oauth1,true)
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() == false {
fmt.Println(rest.LastErrorText())
rest.DisposeRest()
json.DisposeJsonObject()
oauth1.DisposeOAuth1()
return
}
jsonResponse := chilkat.NewJsonObject()
jsonResponse.Load(*jsonResponseText)
jsonResponse.SetEmitCompact(false)
fmt.Println(*jsonResponse.Emit())
fmt.Println("Response status code: ", rest.ResponseStatusCode())
rest.DisposeRest()
json.DisposeJsonObject()
oauth1.DisposeOAuth1()
jsonResponse.DisposeJsonObject()