美好的一天社区,
在问之前,是的,我浏览了我能找到的所有帖子,但没有答案解决了我的问题。我的邮递员呼叫工作正常,通过邮递员为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
时,它会给我一个很好的响应。
有人知道为什么吗?我是否以错误的方式使用身份验证器?