【问题标题】:Tumblr API: Is there a way to get the number of likes a Tumblr post receives?Tumblr API:有没有办法获取 Tumblr 帖子收到的点赞数?
【发布时间】:2015-07-13 19:45:30
【问题描述】:

我正在编写一个应用程序,它必须在 PHP 中获取 Tumblr 帖子的点赞数。我正在使用Tumblr PHP library 并已成功通过身份验证等等。我使用Client::getBlogPosts() 来获取帖子列表。它返回本质上是一个 PHP 数组,其中包含以下信息:

{
    "blog_name": "jeteon",
    "id": 92729317211,
    "post_url": "http://jeteon.tumblr.com/post/92729317211/where-to-find-libxm-so-2-for-ubuntu",
    "slug": "where-to-find-libxm-so-2-for-ubuntu",
    "type": "link",
    "date": "2014-07-24 13:43:04 GMT",
    "timestamp": 1406209384,
    "state": "published",
    "format": "html",
    "reblog_key": "oA2WcGac",
    "tags": [
      "dakota",
      "ubuntu"
    ],
    "short_url": "http://tmblr.co/Z9ROeu1MN6HTR",
    "highlighted": [],
    "note_count": 0,
    "title": "Where to find libXm.so.2 for Ubuntu",
    "url": "https://packages.debian.org/wheezy/lesstif2",
    "author": null,
    "excerpt": null,
    "publisher": "packages.debian.org",
    "description": "<p>I recently had to install Dakota (<a href=\"http://dakota.sandia.gov\">http://dakota.sandia.gov</a>) and after considerable trouble with prerequisites, found that the binary install on Ubuntu requires (amonst other umentioned libraries) a shared library called libXm.so.2. The library is in a package called lesstif2 which is no longer available, it seems. You can grab the DEB on the above link though.</p>",
    "reblog": {
      "tree_html": ""
    },
    "trail": [
      {
        "blog": {
          "name": "jeteon",
          "theme": {
            "avatar_shape": "square",
            "background_color": "#FAFAFA",
            "body_font": "Helvetica Neue",
            "header_bounds": "",
            "header_image": "http://assets.tumblr.com/images/default_header/optica_pattern_10.png?_v=eafbfb1726b334d86841955ae7b9221c",
            "header_image_focused": "http://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
            "header_image_scaled": "http://assets.tumblr.com/images/default_header/optica_pattern_10_focused_v3.png?_v=eafbfb1726b334d86841955ae7b9221c",
            "header_stretch": true,
            "link_color": "#529ECC",
            "show_avatar": true,
            "show_description": true,
            "show_header_image": true,
            "show_title": true,
            "title_color": "#444444",
            "title_font": "Gibson",
            "title_font_weight": "bold"
          }
        },
        "post": {
          "id": "92729317211"
        },
        "content": "<p>I recently had to install Dakota (<a href=\"http://dakota.sandia.gov\">http://dakota.sandia.gov</a>) and after considerable trouble with prerequisites, found that the binary install on Ubuntu requires (amonst other umentioned libraries) a shared library called libXm.so.2. The library is in a package called lesstif2 which is no longer available, it seems. You can grab the DEB on the above link though.</p>",
        "is_root_item": true,
        "is_current_item": true
      }
    ]
  }

与我正在寻找的最接近的字段是note_count,尽管它汇总了喜欢和转发。如果note_count为0,则没有问题,但是当note数为41时,我无法判断它是被赞了40次并转发了一次,还是相反。无论哪种方式,liked 字段的存在与否已经告诉您这一点。

我尝试使用 Client::getBlogLikes() 方法,但它会检索博客喜欢的帖子列表(用 Tumblr 的说法,实际上是创建用户喜欢的帖子),这与我正在寻找的相反。

我能从一般互联网上得到的最好的东西是 article,它建议使用 URL api.tumblr.com/v2/blog/{base-hostname}/likes?api_key={key},但据我从代码中可以看出,这与使用 Tumblr PHP 库中的 Client::getBlogLikes() 函数相同。

有没有人知道获取特定帖子收到的赞数的方法?它不需要是特定于 PHP 的解决方案。

【问题讨论】:

标签: php tumblr


【解决方案1】:

如果有人在原始帖子后 2 年仍在搜索此内容...您可以通过将 &amp;notes_info=true 附加到您的 api 调用来执行此操作 - 将返回 notes 对象的集合。如果您遍历这些,您可以计算帖子类型。从我可以看到的帖子类型是:posted(原始帖子)、likereblog。希望这会有所帮助!

来自json 响应的示例注释集合:(仅显示 1 个注释)

'notes': [{'avatar_shape': 'square',
           'blog_name': 'xxx',
           'blog_url': 'xxx',
           'blog_uuid': 'xxx',
           'followed': False,
           'timestamp': 1505922448,
           'type': 'like'}],

【讨论】:

  • 对于任何转发该项目的博客来说,笔记列表是否相同?如果我转发一张带有 1000 条注释的照片,然后在我的转发帖子中调用该 API 方法,我将在那里看到 1000 条注释,并且无法知道我的转发获得了哪些点赞,以及原始帖子获得了哪些点赞。我错了吗?
【解决方案2】:

似乎对于Tumblr API v2 docs,不,这是不可能的。您只能获取博客点赞总数或人们点赞的帖子的计数。

【讨论】:

    猜你喜欢
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多