B4X
B4X
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 B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim rest As ChilkatRest
rest.Initialize("rest")
' See this example for getting an OAuth1 token for Etsy
Dim json As ChilkatJsonObject
json.Initialize
success = json.LoadFile("qa_data/tokens/etsy.json")
If success = False Then
Log("Failed to load previously fetched Etsy OAuth1 access token.")
Return
End If
Dim oauth1 As ChilkatOAuth1
oauth1.Initialize
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)
Dim autoReconnect As Boolean = True
Dim tls As Boolean = True
success = rest.Connect("openapi.etsy.com", 443, tls, autoReconnect)
If success = False Then
Log(rest.LastErrorText)
Return
End If
' Tell the REST object to use the OAuth1 object.
success = rest.SetAuthOAuth1(oauth1, True)
Dim jsonText As String = "[{" & Chr(34) & "product_id" & Chr(34) & ":1999949999," & Chr(34) & "property_values" & Chr(34) & ":[]," & Chr(34) & "offerings" & Chr(34) & ":[{" & Chr(34) & "offering_id" & Chr(34) & ":9999905883," & Chr(34) & "price" & Chr(34) & ":" & Chr(34) & "36.23" & Chr(34) & "," & Chr(34) & "quantity" & Chr(34) & ":1}]}]"
rest.AddQueryParam("products", jsonText)
rest.AddHeader("Content-Type", "application/x-www-form-urlencoded")
Dim jsonResponseText As String = rest.FullRequestFormUrlEncoded("PUT", "/v2/listings/228827035/inventory")
If rest.LastMethodSuccess = False Then
Log(rest.LastErrorText)
Return
End If
Dim jsonResponse As ChilkatJsonObject
jsonResponse.Initialize
jsonResponse.Load(jsonResponseText)
jsonResponse.EmitCompact = False
Log(jsonResponse.Emit)
Log("Response status code: " & rest.ResponseStatusCode)