- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 RestSharp访问 Etsy 的 API。这是我用来尝试获取 OAuth 访问 token 的代码:
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 告诉我签名无效。有趣的是,当我将请求生成的时间戳和随机数值输入到这个 OAuth signature validation tool 中时,签名不匹配。此外,该工具生成的 URL 适用于 Etsy,而 RestSharp 生成的则不能。是不是我做错了什么,或者我需要用 RestSharp 配置什么?
注意:我使用的是他们的 Nuget 包提供的 RestSharp 版本,在本文发布时是 102.5。
最佳答案
我终于能够使用 OAuth 通过 RestSharp 连接到 Etsy API。这是我的代码——我希望它对你有用...
RestClient mRestClient = new RestClient();
//mRestClient.BaseUrl = API_PRODUCTION_URL;
mRestClient.BaseUrl = API_SANDBOX_URL;
mRestClient.Authenticator = OAuth1Authenticator.ForRequestToken(API_KEY,
API_SHAREDSECRET,
"oob");
RestRequest request = new RestRequest("oauth/request_token", Method.POST);
request.AddParameter("scope",
"shops_rw transactions_r transactions_w listings_r listings_w listings_d");
RestResponse response = mRestClient.Execute(request);
if (response.StatusCode != System.Net.HttpStatusCode.OK)
return false;
NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(response.Content);
string oauth_token_secret = queryString["oauth_token_secret"];
string oauth_token = queryString["oauth_token"];
string url = queryString["login_url"];
System.Diagnostics.Process.Start(url);
// BREAKPOINT HERE
string oauth_token_verifier = String.Empty; // get from URL
request = new RestRequest("oauth/access_token");
mRestClient.Authenticator = OAuth1Authenticator.ForAccessToken(API_KEY,
API_SHAREDSECRET,
oauth_token,
oauth_token_secret,
oauth_token_verifier);
response = mRestClient.Execute(request);
if (response.StatusCode != System.Net.HttpStatusCode.OK)
return false;
queryString = System.Web.HttpUtility.ParseQueryString(response.Content);
string user_oauth_token = queryString["oauth_token"];
string user_oauth_token_secret = queryString["oauth_token_secret"];
user_oauth_token 和 user_oauth_token_secret 是用户的访问 token 和访问 token secret ——它们对用户有效,直到用户撤销访问。
希望这段代码对您有所帮助!
关于c# - 使用 RestSharp 为 Etsy 的 API 获取 signature_invalid 调用 oauth/request_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8321034/
我刚刚在我的 Linux 主机上编译了 QTweetLib。我已编译并运行 pinauthstatusupdate 示例,没有任何更改。但是当我尝试获取 request_token 时,我得到了: F
我目前正在为 qml 环境使用 javascript 和 OAuth 开发 Twitter 应用程序。我被困在“request_token”端点,我不明白为什么。当我发送我的请求时,我只会收到“无法验
我这里有一些代码,我收到错误 401 未经授权。我已经检查了使用 Twitter 框登录。 public async Task get_Oauth_token_TaskAsync() {
我成功地分别使用了 openID 和 OAuth,但我无法让它们一起工作。 我是不是做错了什么: String userSuppliedString = "https://www.google.com
我正在尝试为我的应用获取 oauth token 。我关注了this tutorial但我收到这样的错误: { "errors": [ { "code": 32,
尝试获取一个时收到http 403响应错误请求 token 。 我已经检查了我的基弦的歌唱过程,这是正确的。如果 我使用 Twitter 开发站点上的默认 key ,它生成相同的他们在网站上列出的结果
我已按照回复帖子 withings api authentication 的步骤中所述设置了所有内容. 但是,当我复制并粘贴在第 2 步(向 URL 发送请求:)中生成的最终 URL 时,我的浏览器没
所以,我在为我的 Angular 应用程序制作 Twitter 登录方法时遇到了问题。问题是我什至无法完成第一步。我需要向 request_token API 发出发布请求(我正在执行此步骤 http
我正在使用以下方法 URI 从 Twitter 请求 token 。 注意:这里的新行仅用于显示目的。 http://twitter.com/oauth/request_token? oauth_co
我正在尝试将 oauth 流程集成到我的应用程序中。 调用 oauth/request_token 端点时收到 401 错误: "message": "401 - {\"errors\":[{\"co
这可能是一个重复的问题,但还没有答案。库 oauth-dot-net 和 DotNetOpenAuth 都非常复杂,一个似乎贯穿 OAuth 的主题,虽然 OAuth with Verificatio
所以我正在尝试从 Twitter 获取 token ,但失败了。我收到以下错误:“无法验证 oauth 签名和 token ”。我读过这可能是由于您的系统时钟错误。在 javascript 中,我使用
我正在尝试在 NodeJS 上使用 OAuth 进行身份验证,但出现此错误: Error getting OAuth request token : { statusCode: 401, data:
我正在尝试在我的 Game Maker 应用程序中使用 Twitter 通过 OAuth 向 Firebase 验证用户(Game Maker 不支持 SDK)。 通过 REST HTTP POST
Twitter 最近刚刚强制执行以下内容: 1) 您必须将 oauth_callback 值传递给 oauth/request_token。这不是可选的。即使您已经在 dev.twitter.com
我正在编写一个简单的 Twitter 登录并尝试获取请求 token 以将用户重定向到访问 token ,但我总是以无法验证您错误结束我试图将签名添加为最后一个 header ,但它也不起作用。当我删
我尝试通过 https://api.twitter.com/oauth/request_token 请求 token 但总是收到 401 错误。 我通过 curl 进行测试(很容易看到会发生什么)。
(注意如果你不懂clojure我可以用Java翻译代码,请问) 我将 scribe 与 clojure 一起使用,我发现使用 Twitter 登录时存在一些问题,我正在使用的代码: (def twit
我正在尝试使用 RestSharp访问 Etsy 的 API。这是我用来尝试获取 OAuth 访问 token 的代码: var authenticator = OAuth1Authe
从早上开始,我就一直在努力了解如何在我的 webApp (Spring-MVC) 和 Spring-Social 之间实现登录功能。我正在使用 XML 配置,看起来效果很好。我在使用 Twitter
我是一名优秀的程序员,十分优秀!