2

我正在查询我的家庭状态。但是我发现没有设置每条推文的 ID。

        var auth = new MvcAuthorizer
        {
            CredentialStore = new SessionStateCredentialStore()
            {
                ConsumerKey = TwitterConfig.ConsumerKey,
                ConsumerSecret = TwitterConfig.ConsumerSecret,
                OAuthToken = TwitterConfig.AccessToken,
                OAuthTokenSecret = TwitterConfig.AccessTokenSecret
            }
        };

        var twitterCtx = new TwitterContext(auth);

        var tweets =
                await (from tweet in twitterCtx.Status
                where tweet.Type == StatusType.Home
                select tweet)
                .ToListAsync();

为什么没有填充推文的 ID?

我在文档页面http://linqtotwitter.codeplex.com/wikipage?title=Status%20Entity上注意到它声明该字段由用户而不是 twitter 填充。我不确定这意味着什么,因为 ID 是由 twitter 返回的。

我的最终结果实际上是为这些状态中的每一个获取 oembed 提要,所以如果有更简单的方法可以实现这一点,请告诉我。

4

1 回答 1

3

Twitter 的推文 ID 将位于实体的StatusID属性中。Status检查你的tweetsvar中的那个字段。

我认为LinqToTwitter开发人员的意图可能是允许消费者(您/您的代码)ID为推文分配您自己的内部。想不出他们在同一个Status实体中有另一个 ID 字段的任何其他原因,肯定会令人困惑。 如下(参见对此答案的评论)。

ID是某些查询的输入,StatusID是输出。这可以防止 Twitter 响应中的返回值覆盖调用者的输入参数。

-- Joe Mayo(LinqToTwitter 开发人员)

于 2014-02-11T18:31:05.770 回答