使用Twitter API的RestSharp OAuth 1.0 DELETE请求

时间:2017-06-12 13:31:11

标签: c# twitter twitter-oauth restsharp http-delete

我使用RestSharp c#库根据twitter docs删除现有的Twitter欢迎消息规则。请检查下面的代码。规则ID是我想要删除的现有欢迎消息规则的ID。

 var client = new RestClient("https://api.twitter.com/1.1/direct_messages/welcome_messages/rules/destroy.json?id=" + ruleId);
        var request = new RestRequest(Method.DELETE);
        request.AddParameter("oauth_token", myAccessToken);
        request.AddParameter("oauth_consumer_key", myConsumerKey);
        request.AddHeader("cache-control", "no-cache");
        request.AddHeader("content-type", "application/json");
        client.Authenticator = OAuth1Authenticator.ForAccessToken(myConsumerKey, myConsumerSecret, myAccessToken, myAccessTokenSecret);

        IRestResponse response = client.Execute(request);

我使用非常相似的代码使用POST请求创建新的Twitter欢迎消息规则。它按预期工作。但是,上面的DELETE请求会返回一个身份验证错误:

  

" {\"错误\":[{\"代码\":32,\"消息\":\& #34;无法进行身份验证   你\"}]}"

我已经检查了我的密钥,令牌和秘密超过100次,并且它们可以处理所有其他GET和POST请求。此外,我可以在使用POSTMAN时成功执行上述请求。好像,Twitter出于某种原因拒绝对DELETE请求进行身份验证。

我做错了吗?或者这是Restsharp库中的错误吗?

任何帮助,建议将不胜感激。感谢

0 个答案:

没有答案