使用RestSharp调用在POSTMAN中工作但在RestSharp中不工作的API

时间:2017-09-28 15:12:01

标签: c# postman restsharp

使用API​​提供我正在尝试检索一些数据,API使用OAuth1.0在POSTMAN上完美运行。当我想在C#中使用RestSharp实现它时,它可以在其中一个API上运行,而不是在其他API上运行,回复时会出现授权错误。

API示例:

/getData 

-Works on POSTMAN和RestSharp(由于这在RestSharp中有效,我假设OAuth是正确的,但我会提供代码。

/getData/search?Name=john 

-Works仅在POSTMAN上,RestSharp返回身份验证错误,密钥和令牌没有更改。

        const string consumerKey = "xxxxxxxxxxxxxxx";
        const string consumerSecret = "xxxxxxxxxxxxxxxxxxxxxxxxx";
        const string token = "xxxxxxxxxxxxxxxxxxx";
        const string tokenSecret = "xxxxxxxxxxxxxxxxxxxxx";
        Uri baseUrl = new Uri("https://test.com/api");

        var client = new RestClient(baseUrl)
        {
            Authenticator = OAuth1Authenticator.ForProtectedResource(consumerKey,consumerSecret,token,tokenSecret)
        };
        client.FollowRedirects = false;

        var request = new RestRequest("getData",Method.GET);
        request.AddHeader("content-type", "application/json");

        request.RequestFormat = RestSharp.DataFormat.Json;
        IRestResponse response = client.Execute(request);
        var content = response.Content;

我一直在盯着这几个小时尝试我能想到的一切和谷歌,但似乎没有什么工作。任何建议? 我唯一可以想到的是,是否需要有时间戳/签名,但是在RestSharp中不会有任何API工作。

0 个答案:

没有答案