【发布时间】:2020-05-11 14:08:32
【问题描述】:
想要使用Twitter search API,我的所有测试都可以,除了那些在我的搜索查询中包含空格的测试。
例如:使用 @RedouaneBali has:mentions 查询的搜索会构建以下请求:
Request{method=GET, url=https://api.twitter.com/1.1/tweets/search/30day/dev.json?fromDate=201912261403&toDate=202001251248&maxResults=100&query=%40RedouaneBali%20has%3Amentions, tags={}}
以{"error":{"message":"Could not authenticate you."}}结束
所以我得出结论,由于空间的原因,签名部分是 KO(我的查询中没有任何空间,一切运行良好)。我试图用%20 或+ 替换它,但它也不起作用。我正在使用这个Oauth1SigningInterceptor class 来签署我的请求。
在里面调试,我看到我的查询参数首先从@RedouaneBali has:mentions转换为%40RedouaneBali+has%3Amentions,然后转换为%2540RedouaneBali%2Bhas%253Amentions,所以它可能来自这里,但我不太清楚。有这个双重签名正常吗?
知道如何将其转换为%20 而不是+ 或%2B?
【问题讨论】:
标签: java http twitter request sign