linqToTwitter 用户 ID 始终为零

linqToTwitter UserID always zero

我需要将 URL 构造为原始推文

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

Joe 在 linq2twitter 上的代码工作正常,但是当我用 User.UserID 替换他的样本中的 User.ScreenNameResponse 时, 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));
  

版本:来自 NuGet 的 3.1.1 使用应用程序身份验证。

如何获取 UserID 以便构建推文 URL?

This SO thread(使用id_str)没有帮助。

那会在 tweet.User.UserIDResponse.

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