2015-01-27 4 views
1

Мне нужно построить URL к исходному чирикать, какlinqToTwitter Идентификатор_пользователя всегда равна нулю

http://twitter.com/{twitter-user-id}/status/{tweet-staus-id} 

код Джо на linq2twitter работает отлично, но когда я заменить User.ScreenNameResponse от своего образца с User.UserID, идента всегда равна нулю. Отладчик показывает tweet.UserID также равен нулю. Большинство полей заполнено.

Мой код:

var twitterCtx = new TwitterContext(getAuth()); 

var searchResponse = 
      await 
      (from search in twitterCtx.Search 
      where search.Type == SearchType.Search && 
       search.Query == searchTxt && 
       search.Count == searchCount 
      select search) 
      .SingleOrDefaultAsync(); 

if (searchResponse != null && searchResponse.Statuses != null) 
    searchResponse.Statuses.ForEach(tweet => 
     Console.WriteLine(
      "User: {0}, Tweet: {1}", 
      //tweet.User.ScreenNameResponse, 
      tweet.User.UserID, 
      tweet.Text)); 

Версия: 3.1.1 от NuGet с помощью проверки подлинности приложения.

Как я могу получить UserID, чтобы я мог создать URL-адрес твита?

This SO thread (использование id_str) не помогло.

ответ

2

Это было бы в tweet.User.UserIDResponse.

Немного фона: все, что используется в качестве входного параметра, также рассматривается в ответе на запрос, поэтому, если пользователь опускает параметр в запросе, но ответ twitter содержит значение, он отфильтровывается из результатов , Чтобы исправить это, я принял соглашение, в котором любые возвращаемые параметры также соответствуют входным параметрам, будет иметь суффикс «Ответ». например ScreenName (вход) и ScreenNameResponse (вывод). Чтобы узнать, какие значения вводятся, документы для каждого вызова API (including Search) содержат параметры ввода/фильтра.

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