【问题标题】:Getting null value when pulling data from external api从外部 api 提取数据时获取空值
【发布时间】:2016-03-11 02:30:08
【问题描述】:

我正在尝试从WatchPeopleCode API 提取数据,并且我正在使用HTTParty gem 来执行此操作。我像这样提取实时流的数据:

live = HTTParty.get("http://www.watchpeoplecode.com/api/v1/streams/live")
@live_streams = live["data"]

然后,我将在我的视图中访问和显示有关各个实时流的信息,如下所示:

<% @live_streams.each do |stream| %>
  <p><%= stream["id"] %></p>
  <p><%= stream["actual_start_time"] %></p>
  <p><%= stream["title"] %></p>
  <p><%= stream["user"] %></p>
<% end %>

除了用户之外,几乎所有信息都正确显示。当我在控制台中测试我的代码时,我看到用户是nil。关于导致此问题的原因以及如何解决的任何想法?我真的希望能够链接到用户/流媒体配置文件。

另外,我是否以正确的方式完成这项任务?我之前使用 API 的唯一一次是使用 Facebook/Twitter 等进行用户身份验证。我可以以不同的方式从 watchpeoplecode 中提取数据,还是 httparty 是最佳选择?

【问题讨论】:

    标签: ruby api


    【解决方案1】:

    当我加载API endpoint 时,第一个数据条目没有用户。而另外两个条目有用户名。

    也就是说:您无能为力,因为服务器没有返回数据。

    要解决这个问题,您可以检查是否有用户并在没有用户时处理这种情况。所以不要这样:

    <p><%= stream["user"] %></p>
    

    你可能想写这样的东西:

    <p>
      <% if stream["user"].present? %>
        <%= stream["user"] %>
      <% else %>
        unknown user
      <% end %>
    </p>
    

    【讨论】:

    • 好的,感谢您的建议。我一定会接受你的:)
    【解决方案2】:

    我手动尝试了 API(在浏览器窗口中),第一个条目确实为用户设置了 null。其余条目都很好。

    www.watchpeoplecode.com 的实时取景中,第一个条目是finished

    这可能是一个原因。

    【讨论】:

      猜你喜欢
      • 2017-07-06
      • 1970-01-01
      • 2019-11-19
      • 2017-12-06
      • 2021-06-23
      • 2015-12-04
      • 1970-01-01
      • 2022-01-23
      • 2021-04-25
      相关资源
      最近更新 更多