我正在尝试将我的网站换成使用 OAuth 1.0a 来使用新的 Twitter 1.1 API。我能够使用 REST 客户端获得正确的响应,现在我正在尝试使用 c# 在我的网站上复制它。
我已经以适当的方式构建了我的标题,并且我已经验证了它们的格式是否适合 Twitter 正在寻找的内容。
我遇到的问题是我认为我实际上并没有发送请求。我这样说是因为我的应用程序几乎立即返回。该请求至少需要一秒钟左右的时间才能发送,而我的响应完全是空的,没有 401 或 400 状态代码。
下面我有实际发送请求的代码。我实际上是在发送请求,如果是这样,为什么我没有收到任何状态代码或任何东西。
在此先感谢您的帮助。
//string url = "https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=MYSCREENNAME&count=2";
string url = "https://api.twitter.com/1.1/statuses/user_timeline.json";
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "GET";
webRequest.Headers.Add("Authorization", authorizationHeaderParams);
try {
var response = webRequest.GetResponse() as HttpWebResponse;
if (response != null && response.StatusCode != HttpStatusCode.OK) {
lblresponse.InnerText = "The request did not complete and returned status code: {0} " + response.StatusCode;
}
if (response != null) {
var reader = new StreamReader(response.GetResponseStream());
reader.ReadToEnd();
lblresponse.InnerText += "success";
}
} catch {
lblresponse.InnerText += "fail";
}
所以是的,这段代码直接进入了 catch 块。我的想法是我实际上并没有发送请求,因为它不需要时间发生。我知道有一些库旨在使这更容易,但我更愿意自己学习如何做(在你们的帮助下)。
谢谢。