Using DevDefined.OAuth I'm trying to update existing listing on Etsy. Here is my code:
_consumerContext = new OAuthConsumerContext
{
ConsumerKey = _apiKey,
ConsumerSecret = _apiSecret,
SignatureMethod = SignatureMethod.HmacSha1
};
_session = new OAuthSession(_consumerContext, "https://openapi.etsy.com/v2/oauth/request_token?scope=transactions_r%20email_r%20listings_r%20transactions_w%20listings_w",
"https://www.etsy.com/oauth/signin",
"https://openapi.etsy.com/v2/oauth/access_token");
_accessToken = new TokenBase();
_accessToken.ConsumerKey = _apiKey;
_accessToken.Token = token;
_accessToken.TokenSecret = tokenSecret;
IConsumerRequest request = _session.Request(_accessToken)
.Put()
.ForUri(new Uri(string.Format("https://openapi.etsy.com/v2/listings/{0}", listing_id)));
request.Context.QueryParameters.Add("listing_id", listing_id.ToString());
request.Context.QueryParameters.Add("title", "New title");
string response = ConsumerRequestExtensions.ReadBody(request);
But I receive 403 response all the time with message "signature_invalid".
When I create listing on Etsy using the same way (except method is POST, not PUT), everything works fine.
Am I missing something?