linqToTwitter UserID始终为零

时间:2015-01-27 05:07:14

标签: linq-to-twitter

我需要构建原始推文的URL

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

Joe linq2twitter上的代码运行正常,但当我将User.ScreenNameResponse替换为他的样本时,User.UserID, 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)没有帮助。

1 个答案:

答案 0 :(得分:2)

那将是tweet.User.UserIDResponse。

一些背景:在查询响应中也会查看用作输入参数的任何内容,因此如果用户在查询中省略了参数但Twitter响应包含值,则会从结果中过滤掉它。为了解决这个问题,我采用了一种惯例,其中任何返回参数也匹配输入参数将具有响应'后缀。例如ScreenName(输入)和ScreenNameResponse(输出)。要查找输入的值,每个API(including Search)调用的文档都包含输入/过滤器参数。