我遇到了包括新 Twitter 搜索 API(版本 1.1)查询中的 count 参数在内的问题。如果我在没有“count”参数的情况下执行查询,我会获得 15 个默认结果。同时,如果我包含 count 参数,我会得到 401 Unauthorized Error。
您将在下文中找到我的 C# 代码的部分摘录。
1) 最初,baseString 变量的结尾设置为“q=Test&count=100”。
2)将baseString变量传递给EscapeDataString函数后,结尾变成q%3DTest%26count%3D100,按照预期格式化为百分比编码。
3)最后提交的resource_url如下: https ://api.twitter.com/1.1/search/tweets.json?q=Test&count=100
var resource_url = "https://api.twitter.com/1.1/search/tweets.json";
var baseFormat = "oauth_consumer_key={0}&oauth_nonce={1}&oauth_signature_method={2}&oauth_timestamp={3}&oauth_token={4}&oauth_version={5}&q={6}&count={7}";
var baseString = string.Format(baseFormat,
oauth_consumer_key,
oauth_nonce,
oauth_signature_method,
oauth_timestamp,
oauth_token,
oauth_version,
Uri.EscapeDataString(q),
Uri.EscapeDataString(count)
);
baseString = string.Concat("GET&", Uri.EscapeDataString(resource_url), "&", Uri.EscapeDataString(baseString));
var postBody = "q=" + Uri.EscapeDataString(q) + "&count=" + Uri.EscapeDataString(count);
resource_url += "?" + postBody;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resource_url);
有人知道为什么我会收到此 401 错误吗?