【问题标题】:Twitter API 1.1 could not authenticate youTwitter API 1.1 无法验证您的身份
【发布时间】:2013-11-28 00:42:32
【问题描述】:

您好,我有一个使用 /1.1/search/tweets.json 的应用。

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

查询 = “你好世界” 计数 = 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 条推文,则会出现“无法验证您”的消息。

可能出了什么问题?

【问题讨论】:

    标签: c# twitter restsharp


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2013-01-20
      • 2017-12-30
      • 2013-06-16
      • 2021-04-14
      • 2019-05-18
      • 2011-08-04
      • 2022-01-01
      • 2017-07-11
      相关资源
      最近更新 更多