Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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提要?_C#_Javascript_Asp.net Mvc_Twitter - Fatal编程技术网

C# 如何实时跟踪Twitter提要?

C# 如何实时跟踪Twitter提要?,c#,javascript,asp.net-mvc,twitter,C#,Javascript,Asp.net Mvc,Twitter,我要做一些服务,但我不确定有几件事,所以如果可以的话请帮忙。 如何实时跟踪某个用户的Twitter提要,并在用户在其提要中添加标记时在我的服务中执行某些操作?我不想准备解决方案,我必须知道我必须学习哪些技术和第三方库?一个解决方案可以与Json解析器一起使用,如 编辑 下面是一个示例代码 HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://stream.twitter.com/1/statuses/samp

我要做一些服务,但我不确定有几件事,所以如果可以的话请帮忙。 如何实时跟踪某个用户的Twitter提要,并在用户在其提要中添加标记时在我的服务中执行某些操作?我不想准备解决方案,我必须知道我必须学习哪些技术和第三方库?

一个解决方案可以与Json解析器一起使用,如

编辑

下面是一个示例代码

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://stream.twitter.com/1/statuses/sample.json");
webRequest.Credentials = new NetworkCredential("....", "......");
webRequest.Timeout = -1;
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

StreamReader responseStream = new StreamReader(webResponse.GetResponseStream());
while (true)
{
    var line = responseStream.ReadLine();
    if (String.IsNullOrEmpty(line)) continue;

    dynamic obj = JsonConvert.DeserializeObject(line);

    if (obj.user != null)
        Console.WriteLine(obj.user.screen_name + ": " + obj.text);

}
LINQ to Twitter,支持Twitter流。下面是一个例子:

        (from strm in twitterCtx.UserStream
         where strm.Type == UserStreamType.User
         select strm)
        .StreamingCallback(strm =>
        {
            if (strm.Status == TwitterErrorStatus.RequestProcessingException)
            {
                WebException wex = strm.Error as WebException;
                if (wex != null && wex.Status == WebExceptionStatus.ConnectFailure)
                {
                    Console.WriteLine(wex.Message + " You might want to reconnect.");
                }

                Console.WriteLine(strm.Error.ToString());
                return;
            }

            Console.WriteLine(strm.Content + "\n");

            if (count++ >= 25)
            {
                strm.CloseStream();
            }
        })
        .SingleOrDefault();
这是一个用户流,但您对过滤器、样本、站点和其他流有类似的支持