2013-11-14 45 views
0

您好我有一個使用/1.1/search/tweets.json的應用程序。Twitter API 1.1無法驗證您的身份

我做這個參數的要求:

查詢=「Hello World」的 數= 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個蠢特夫婦出現「無法驗證你」的消息。

什麼可能是錯的?

回答

0

經過一番調試,我發現這個問題。

主要問題是HttpUtility.UrlEncode()將「Hello World」轉換爲「Hello + World」,如果我們有超過100個twit,則請求返回的查詢是「Hello%2bWorld」.Transform那到「Hello + World」,一切都會好起來的。

所以基本上你必須非常小心的URL編碼。

相關問題