2016-05-09 7 views
0

я пытаюсь получить поток твитов с использованием библиотеки LinqToTwitter и ниже C# код, но я получаю эту ошибку:ошибка авторизации с использованием linqtotwitter для потокового API

Error 401 Unauthorized

public static SingleUserAuthorizer auth; 
    static void Main(string[] args) 
    { 
     Task task = new Task(getStreamOfTweets); 
     task.Start(); 
     task.Wait(); 
     Console.ReadLine(); 
    } 

    static async void getStreamOfTweets() 
    { 
     auth = new SingleUserAuthorizer 
     { 
      CredentialStore = new SingleUserInMemoryCredentialStore 
      { 
       ConsumerKey = CUSTOMER_KEY, 
       ConsumerSecret = CUSTOMER_SECRET, 
       AccessToken = ACCESS_TOKEN, 
       AccessTokenSecret = ACCESS_TOKEN_SECRET 
      } 
     }; 
     var context = new TwitterContext(auth); 
     int count = 0; 
     await (from strm in context.Streaming 
       where strm.Type == StreamingType.Filter 
       && strm.Track == "federer" 
       select strm) 
      .StartAsync(async strm => 
      { 
       string message = 
        string.IsNullOrEmpty(strm.Content) ? 
         "Keep-Alive" : strm.Content; 
       Console.WriteLine(
        (count + 1).ToString() + 
        ". " + DateTime.Now + 
        ": " + message + "\n"); 

       if (count++ == 5) 
        strm.CloseStream(); 
      }); 
    } 

примечание:

  • разрешение в твиттере приложение является «чтение, запись и доступ прямые сообщения»

  • я могу получить чирикать по REST API правильно

ответ

0

этот вопрос, потому что время в ПК было неправильно

0

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

  1. Дважды проверьте ключи, чтобы убедиться, что вы случайно не добавили пробел или потеряли символ на концах.
  2. Дайте немного времени, прежде чем повторять попытку, потому что иногда слишком много попыток доступа или неудачных попыток могут привести к отказу вашего соединения в течение определенного периода времени.
  3. Re: # 2, попробуйте другой поток, например Sample.
  4. В использовании OAuth много движущихся частей, поэтому пройдите через этот список, если вы, возможно, что-то пропустили.
0

Этот вопрос возникает, потому что время окон было неправильным.

0

Если вы скопировали & вставленный из Linq "образец кода Twitter, убедитесь, что вы установили правильно все ключи:

ConsumerKey 
    ConsumerSecret 
    AccessToken 
    AccessTokenSecret 

Тогда не использовать„Application только“аутентификации, использовать„Идент.польз“вместо того, чтобы для потоковый, который использует все эти клавиши.