2015-08-20 2 views
4

мне нужно, чтобы показать детали ЧИРИКНУТЬ (например tweet), когда пользователь нажимает на <a href="https://twitter.com/screen_name/status/id"></a>, так что я пытаюсь получить этот идентификатор с помощью linq2twitter:Как я могу получить детали твита?

public static IEnumerable<TweetInfo> GetLatestTweets() { 
     var auth = new SingleUserAuthorizer { 
      CredentialStore = new SingleUserInMemoryCredentialStore { 
       ConsumerKey = Constants.TwitterAuth.ConsumerKey, 
       ConsumerSecret = Constants.TwitterAuth.ConsumerSecret, 
       AccessToken = Constants.TwitterAuth.AccessToken, 
       AccessTokenSecret = Constants.TwitterAuth.AccessTokenSecret 
      } 
     }; 

     var twitterCtx = new TwitterContext(auth); 
     var tweets = 
     ( from tweet in twitterCtx.Status 
      where tweet.Type == StatusType.User && tweet.ScreenName == Constants.TwitterAuth.ScreenName 
      select tweet).Take(Constants.TwitterAuth.LatestTweetsCount).ToList(); 

     return tweets.Where(tweet => tweet != null && tweet.User != null) 
      .Select(tweet => new TweetInfo { 
       Text = tweet.Text, 
       TweetId = tweet.StatusID, // id for https://twitter.com/screen_name/status/id 
       ScreenName = tweet.ScreenName 
      }).ToList(); 
    } 

, но я не могу найти недвижимость в твиттере, что соответствует этот идентификатор. Есть ли у вас какие-либо предложения относительно того, как я могу получить этот идентификатор?

ответ

1

Это должно быть StatusID. Установить точку останова и запуска кода в RunUserTimelineQueryAsync:

https://github.com/JoeMayo/LinqToTwitter/blob/master/New/Demos/Linq2TwitterDemos_Console/StatusDemos.cs

Обязательно замените ScreenName с вашим именем экрана и использовать StatusID от первого твита, чтобы потянуть этот URL в браузере. Я вижу, что отображаемый URL имеет «имя_экран», которое вы должны дважды проверить, что вы заменяете реальное имя экрана, например. "Guidmiitestacc". Вы можете загрузить и запустить демонстрационный код консоли.

Так, если свойство StatusID был «634349628574597120» и Ваше имя пользователя «guidmiitestacc», введите следующее значение в адресной строке браузера:

https://twitter.com/guidmiitestacc/status/634349628574597120

Вы можете захотеть установить точку останова в вашем коде, после запроса, который заполняет твиты, чтобы увидеть, что StatusID содержит идентификатор. Затем проследите по коду, чтобы узнать, будет ли это изменено или удалено в любом месте.

Совет. Также есть свойство ID, но это только вход, а LINQ to Twitter имеет альтернативные поля для вывода, которые либо похожи на «StatusID», либо имеют суффикс «Response».