【问题标题】:linqToTwitter UserID always zerolinqToTwitter 用户 ID 始终为零
【发布时间】:2015-03-25 15:53:29
【问题描述】:

我需要将原始推文的 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));
  

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

如何获取用户 ID 以便构建推文 URL?

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

【问题讨论】:

    标签: linq-to-twitter


    【解决方案1】:

    那将在 tweet.User.UserIDResponse 中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2016-05-02
      • 2012-01-16
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多