当用户点击<a href="https://twitter.com/screen_name/status/id"></a>
时,我需要显示tweet详细信息(例如tweet),所以我试图使用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();
}
但是我在tweet中找不到与这个id对应的属性。我怎样才能得到这个id,你有什么建议吗?
应该是StatusID。设置一个断点并运行RunUserTimelineQueryAsync:
中的代码https://github.com/JoeMayo/LinqToTwitter/blob/master/New/Demos/Linq2TwitterDemos_Console/StatusDemos.cs请确保将ScreenName替换为您的屏幕名称,并使用第一条tweet中的StatusID在浏览器中拉出该URL。我看到,你显示的URL有"screen_name",你应该仔细检查,你是用真实的屏幕名称替换,例如。"guidmiitestacc"。您也可以下载并运行控制台演示代码。
所以,如果StatusID属性是"634349628574597120",你的用户名是"guidmiitestacc",在浏览器地址栏中输入以下值: https://twitter.com/guidmiitestacc/status/634349628574597120您可能希望在填充tweet的查询之后在代码中设置一个断点,以查看StatusID是否包含该ID。然后跟踪代码,看看它是否在任何地方被更改或删除。
提示:还有一个ID属性,但这只是输入,LINQ to Twitter有备用字段用于输出,这些字段要么像"StatusID",要么有"Response"后缀。