【发布时间】:2011-11-30 04:10:07
【问题描述】:
我正在尝试使用 RestSharp 访问 Etsy 的 API。这是我用来尝试获取 OAuth 访问令牌的代码:
var authenticator = OAuth1Authenticator.ForRequestToken(
ConfigurationManager.AppSettings["ApiKey"],
ConfigurationManager.AppSettings["ApiSecret"]);
// same result with or without this next line:
// authenticator.ParameterHandling = OAuthParameterHandling.UrlOrPostParameters;
this.Client.Authenticator = authenticator;
var request = new RestRequest("oauth/request_token")
.AddParameter("scope", "listings_r");
var response = this.Client.Execute(request);
Etsy 告诉我签名无效。有趣的是,当我将请求生成的时间戳和 nonce 值输入到这个OAuth signature validation tool 中时,签名不匹配。此外,该工具生成的 URL 可与 Etsy 一起使用,而 RestSharp 生成的 URL 不能。是我做错了什么还是需要用 RestSharp 配置什么?
注意:我使用的是他们的 Nuget 包提供的 RestSharp 版本,在发布这篇文章时是 102.5。
【问题讨论】: