【问题标题】:RestSharp on Windows Phone with Request Parameters带有请求参数的 Windows Phone 上的 RestSharp
【发布时间】:2012-03-30 01:29:05
【问题描述】:

我正在为一项使用 Oauth1 API 的服务开发 Windows 手机客户端。

在 API 文档中我有这样的内容:

url: http://example.com/iphone/json/users/

method: GET

参数: page_num=[int] - 页码,>=1,默认=1。

对于默认页面编号,一切正常:

        RestClient HabraClient = new RestClient("http://habrahabr.ru");
        HabraClient.Authenticator = OAuth1Authenticator.ForProtectedResource("xxx", "yyyyyy", App.Tokens.Key, App.Tokens.Secret);
        var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);

        HabraClient.ExecuteAsync(TokenRequest, (response =>
        {
            try
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {

当我执行此请求时,我会收到正确的数据响应。 但是如果我添加参数(取消注释 TokenRequest.AddParameter("page_num", 2); )我会收到“无效签名”。我试图发送 int 和 string 参数。

        var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);

        TokenRequest.AddParameter("page_num", 2);

        HabraClient.ExecuteAsync(TokenRequest, (response =>
        {
            try
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {

我收到消息“无效签名”。我也试过字符串参数:

        TokenRequest.AddParameter("page_num", "2");

API 提供商告诉我,我的签名库有问题 字符串http://oauth.net/core/1.0/#sig_base_example 那么,我该如何查看呢?或者也许你可以帮我解决这一切 问题?

【问题讨论】:

  • 你能发布更完整的工作版本非工作版本的例子吗?
  • 你是如何生成签名的?
  • 约翰,我更新了帖子。马特,签名是由 API 生成的,我正在尝试找到一种方法,如何在调试器中查看它:)
  • 您可以看到使用 Fiddler 之类的东西生成的签名。他们的签名算法可能与 RestSharp 中的不匹配(我已经看到一些 API 有细微的差异)。此外,如果您只是将查询字符串值硬编码到 RestRequest 构造函数 URL 参数中,是否可以解决问题?
  • OAuth 1 需要 url 参数和 form-urlencoded 参数来生成签名

标签: windows-phone-7 oauth restsharp


【解决方案1】:

我认为您正在破坏请求结构...最好通过 Fiddler 检查请求,但尝试编写类似

var TokenRequest = new RestRequest("/iphone/json/users/?page_num=2", Method.GET);

而不是

var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);

TokenRequest.AddParameter("page_num", 2);

希望,这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多