C# 不要获取Twitter Api的完整Json(C,仅应用程序身份验证)
当我用C向Twitter API发出请求时,我没有得到完整的Json。我使用以下代码:C# 不要获取Twitter Api的完整Json(C,仅应用程序身份验证),c#,asp.net,json,twitter,C#,Asp.net,Json,Twitter,当我用C向Twitter API发出请求时,我没有得到完整的Json。我使用以下代码: public static async Task<string> GetTwitterList(string bearerToken) { WebRequest request = WebRequest.Create("https://api.twitter.com/1.1/lists/show.json?slug=odyssee&owner_screen_name
public static async Task<string> GetTwitterList(string bearerToken)
{
WebRequest request = WebRequest.Create("https://api.twitter.com/1.1/lists/show.json?slug=odyssee&owner_screen_name=dieVanDeIlias");
request.Method = "GET";
request.Headers.Add("Authorization", String.Format("Bearer {0}", bearerToken));
request.Timeout = Timeout.Infinite;
WebResponse response = await request.GetResponseAsync();
Stream reponseStream = response.GetResponseStream();
Encoding encoder = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(reponseStream, encoder);
Char[] read = new Char[256];
int count = readStream.Read(read, 0, 256);
String str = "000";
while (count > 0)
{
str = new String(read, 0, count);
count = readStream.Read(read, 0, 256);
}
readStream.Close();
response.Close();
return str;
}
我只使用应用程序授权。它适用于Asp.NETWeb页面应用程序,因此并非每个http/Web类都可用。除非在没有第三方库的情况下不可能做到这一点,否则我不想使用它们。。。我正在使用Visual Studio Express 2013 for Web和.Net 4.5版。StreamReader.ReadToEnd方法适合我!我现在的代码:
public static async Task<string> GetTwitterList(string bearerToken)
{
WebRequest request = WebRequest.Create("https://api.twitter.com/1.1/lists/statuses.json?slug=odyssee&owner_screen_name=dieVanDeIlias");
string result = "";
request.Method = "GET";
request.Headers.Add("Authorization", String.Format("Bearer {0}", bearerToken));
request.Timeout = Timeout.Infinite;
WebResponse response = await request.GetResponseAsync();
Encoding encoder = System.Text.Encoding.GetEncoding("utf-8");
string contentLength = response.Headers.Get("Content-Length");
int contentLengthInt = Convert.ToInt32(contentLength);
using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoder))
{
while (sr.Peek() >= 0)
{
result = sr.ReadToEnd();
}
}
return result;
}
你至少得到了json的一部分吗?你试过StreamReader.ReadToEnd方法吗?我希望你想用Twitter API做一些非常简单的事情,因为你可能需要一段时间才能获得你想要的所有信息。常见函数有哪些?