当用户点击<a href="https://twitter.com/screen_name/status/id"></a>
时,我需要显示推文详细信息(例如tweet),因此我尝试使用linq2twitter获取此ID:
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有任何建议吗?
答案 0 :(得分:1)
那应该是StatusID。设置断点并在RunUserTimelineQueryAsync中运行代码:
请务必将ScreenName替换为您的屏幕名称,并使用第一条推文中的StatusID在浏览器中提取该URL。我看到您显示的网址有&#34; screen_name&#34;,您应该仔细检查您是否正在使用真实屏幕名称替换,例如&#34; guidmiitestacc&#34 ;.您也可以下载并运行Console演示代码。
因此,如果StatusID属性为&#34; 634349628574597120&#34;并且您的用户名是&#34; guidmiitestacc&#34;,在浏览器地址栏中输入以下值:
https://twitter.com/guidmiitestacc/status/634349628574597120
您可能希望在填充推文的查询之后在代码中设置断点,以查看StatusID是否包含ID。然后跟踪代码以查看是否在任何地方更改或删除。
提示:还有一个ID属性,但只有输入和LINQ到Twitter有输出的备用字段,或者类似于&#34; StatusID&#34;或者有一个&#34;响应&#34;后缀。