Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Twitter API 1.1无法对您进行身份验证_C#_Twitter_Restsharp - Fatal编程技术网

C# Twitter API 1.1无法对您进行身份验证

C# Twitter API 1.1无法对您进行身份验证,c#,twitter,restsharp,C#,Twitter,Restsharp,嗨,我有一个使用/1.1/search/tweets.json的应用程序 我正在使用以下参数执行请求: query=“你好,世界” 计数=100 private static object MakeRequest(NameValueCollection parameters) { var client = new RestClient("https://api.twitter.com") { Auth

嗨,我有一个使用/1.1/search/tweets.json的应用程序

我正在使用以下参数执行请求:

query=“你好,世界” 计数=100

private static object MakeRequest(NameValueCollection parameters)
        {
            var client = new RestClient("https://api.twitter.com")
            {
                Authenticator = OAuth1Authenticator.ForProtectedResource(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, SECRET_ACCESS_TOKEN)
            };

            var request = new RestRequest("/1.1/search/tweets.json", Method.GET);
            foreach (string key in parameters)
            {

                request.AddParameter(key, HttpUtility.UrlEncode(parameters[key]));
            }

            var response = client.Execute(request);
            return JsonConvert.DeserializeObject(response.Content);


        }
第一次它工作正常,但是如果查询有超过100个twit,则会显示“无法验证您的身份”消息


可能出了什么问题?

经过一些调试后,我发现了问题

主要问题是HttpUtility.UrlEncode()将“Hello World”转换为“Hello+World”,如果我们有超过100个twits,则从请求返回的查询是“Hello%2bWorld”。将其转换为“Hello+World”,一切正常

所以基本上你必须非常小心URL编码