2013-11-11 5 views
1

Я пытаюсь изучить Twitter API, используя LinqToTwitter. Он отлично работает, чтобы подключиться к API Twitter, но не Twitter Stream. Насколько я могу судить, мне нужны специальные права на доступ к firehouse, но поток выборок и поток фильтра должны быть доступны. Если это правда, я не могу понять, почему я получаю «401 Несанкционированные» со следующим кодом:Неавторизованный Twitter Образец потока

 var auth = new ApplicationOnlyAuthorizer 
    { 
     Credentials = new InMemoryCredentials 
     { 
      ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"], 
      ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"], 
     } 
    }; 

    auth.Authorize(); 

    var twitterCtx = new TwitterContext(auth); 

    int count = 0; 
    string response = ""; 
    (from strm in twitterCtx.Streaming 
    where strm.Type == StreamingType.Filter && 
     strm.Track == query 
    select strm) 
    .StreamingCallback(strm => 
    { 
     if (strm.Status != TwitterErrorStatus.Success) 
     { 
      Console.WriteLine(strm.Error.ToString()); 
      return; 
     } 

     response += "<p>" + strm.Content + "</p>"; 

     if (count++ >= 2) 
     { 
      strm.CloseStream(); 
     } 
    }) 
    .SingleOrDefault(); 

ответ

1

Twitter потоки не поддерживают приложения только разрешения. Попробуйте SingleUserAuthorizer. Кроме того, ошибка 401 может произойти по нескольким причинам, и вы можете обратиться за помощью к помощи LINQ to Twitter FAQ.

Смежные вопросы