【问题标题】:If-Modified-Since not considered while using httr GET?使用 httr GET 时不考虑 If-Modified-Since?
【发布时间】:2017-01-17 05:37:28
【问题描述】:

我的要求/目标:

我正在从公共页面检索过去 3 个月的 Facebook 帖子,我想只选择最近(过去 2 天)修改过的帖子。

我正在使用 httr R 包,并使用 GET 函数来完成上述操作。

我尝试了以下方法:

  1. url.data

  2. url.data

在上面的 'url' 中有 'since', 'until' 字段指定时间 需要检索帖子的期限(3个月)。 'token' 是用于身份验证的 OAuth 令牌。

以上两种方法都是检索所有帖子,而不是仅检索过去2天修改过的帖子。

是否有另一种将 If-Modified-Since 传递给 GET 的方法,这将导致仅检索所需的帖子?

注意:我已经查看了这些与 If-Modified-Since 相关的帖子,但它们没有回答我的问题:

  1. "If-Modified-Since" header
  2. "If-Modified-Since" Header?
  3. If modified since - HTTP protocol
  4. If-Modified-Since Date Format

还有一些与我的场景不完全相关的问题。

任何帮助将不胜感激。

【问题讨论】:

    标签: r facebook-graph-api httr if-modified-since


    【解决方案1】:

    我认为您的问题的核心是“If-Modified-Since”标头的目的与 Facebook 过滤结果之间的混淆。

    “If-Modified-Since”询问服务器“当我调用此 URL/使此查询自此日期/时间起更改时要返回的内容吗?”

    发送到 Facebook 的“since”和“until”参数过滤请求以仅显示在这两个日期之间发布的内容。

    Facebook 不会将两者合并以返回满足这两个问题的帖子 - 这些问题位于参数中设置的两个日期/时间之间,并且自“If-Modified-Since”设置的日期/时间以来已被修改。

    这是因为 Facebook 执行搜索/过滤,查看整个响应并回答“当我调用此 URL/使此查询自此日期/时间以来要返回的内容是否发生更改?”这一问题。基于整个响应。如果整个响应中有任何变化,那么它会将整个响应发送给您。

    如果您想识别已更改的单个帖子,则必须遍历数组并单独检查每个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2012-11-01
      • 2011-10-03
      • 2023-03-31
      • 2020-12-27
      • 2012-06-24
      • 1970-01-01
      相关资源
      最近更新 更多