Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不要获取Twitter Api的完整Json(C,仅应用程序身份验证)_C#_Asp.net_Json_Twitter - Fatal编程技术网

C# 不要获取Twitter Api的完整Json(C,仅应用程序身份验证)

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

当我用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=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做一些非常简单的事情,因为你可能需要一段时间才能获得你想要的所有信息。常见函数有哪些?