邮递员请求有效,但 Restsharp C# 无效(oauth1)

时间:2021-07-01 10:13:17

标签: c# web-services restsharp

美好的一天社区,

在问之前,是的,我浏览了我能找到的所有帖子,但没有答案解决了我的问题。我的邮递员呼叫工作正常,通过邮递员为restsharp C# .net 生成的代码也工作正常。

我正在尝试通过 oauth1 对网络服务进行身份验证。

我的控制台应用程序不适用于我自己编写的 c# 代码;

        static void Main(string[] args)
    {
        System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

        var client = new RestClient(@"https://xxx.xxx.com/api/v4");
        client.Authenticator = OAuth1Authenticator.ForAccessToken(@"415A76A3-3978-438C-XXXX", @"8cdaf94be6c696ef5959cXXXXXX", @"9BD611DC-4A8C-4708-XXXXXX", @"172b45476cdbcf290XXXXXX");
        client.Timeout = -1;

        var request = new RestRequest("/media/?type=image&includeMediaItems=1&property_Type=FNT&property_Shot=FLT&property_Barcode=12345", Method.GET);

        //creating the header manually
        //request.AddHeader("Authorization", "OAuth oauth_consumer_key=\"415A76A3-3978-438C-9EFFCxxxxx\",oauth_token=\"9BD611DC-4A8C-4708-A30EE7AD8xxxxx\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1625131487\",oauth_nonce=\"d56GrFiz9hV\",oauth_version=\"1.0\",oauth_signature=\"coLhiE2mR9DahNteZXiQW%2FAJMS8%3D\"");

        IRestResponse response = client.Execute(request);

        Console.WriteLine(response.Content);
        Console.ReadKey();
    }
    

这会给我以下回复 “状态代码:未经授权,内容类型:文本/纯文本;字符集=UTF-8,内容长度:24)” 无效或过期的令牌

现在我检查了消费者密钥、秘密、令牌和令牌秘密,它们是正确的。

当我用 client.Authenticator 注释掉该行并取消注释该行 request.AddHeader 时,它会给我一个很好的响应。

有人知道为什么吗?我是否以错误的方式使用身份验证器?

0 个答案:

没有答案