I am writing an application that has to get the number of likes for a Tumblr post in PHP. I am using the Tumblr PHP library and have successfully authenticated and all that. I use Client::getBlogPosts()
to get a list of the posts. It returns what is essentially a PHP array with information like:
{
"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
}
]
}
The closest field to what I'm looking for is note_count
, although this aggregates both likes and reblogs. If the note_count
is 0, then there's no problem, but when the note count is 41, I can't tell whether it has been liked 40 times and reblogged once or the converse. Either way, the presence or absence of the liked
field already tells you this.
I tried using the Client::getBlogLikes()
method but that retrieves a list of posts that the blog has liked (in Tumblr parlance, effectively posts that the creating user liked), which is the converse of what I'm looking for.
The best I could get from the general internet is this article, which suggests using the URL api.tumblr.com/v2/blog/{base-hostname}/likes?api_key={key}, but as far as I can tell from the code, this is the same as using the Client::getBlogLikes()
function from the Tumblr PHP library.
Does anyone know a way to get the number of likes a particular post has received? It doesn't need to be a PHP-specific solution.
note_count
is a combination of likes and reblogs: tumblr.com/docs/en/api/v2#posts – Classical