javascript - 从 tumblr 博客获取所有唯一标签

标签 javascript tumblr

根据 Tumblr API V2,有一些方法可以使用标签从您的 Tumblr 博客获取帖子和其他详细信息,反之亦然。

我想获取所有标签(唯一标签)的列表,而不考虑博客文章

因此,如果我有 10 个标记为 TechnologyWeb 和 < strong>3 个标记为 JavaScriptWeb 的帖子 - 我想以这样的方式查询我的博客,它会给我 TechnologyWebJavaScript

例如,一个数组 - results.posts.tags = ["Technology", "Web", "JavaScript"] 或一个对象,我可以深入挖掘以找到 标签,然后循环迭代。

最佳答案

我从未使用过 Tumblr API,但看起来您应该能够构建标签列表 - 但没有内置方法。首先,您必须通过查询 /info 方法1 来查找博客中的帖子总数。其网址是:

api.tumblr.com/v2/blog/{base-hostname}/info?api_key={key}

从中获取响应并将其解码为一个对象(jQuery、extjs、w/e 都可以),您可以找到 posts 字段以获取帖子总数。使用它,您可以使用 /posts 方法开始一次拉回 20 个帖子,根据 API 的最大值。其网址是:

api.tumblr.com/v2/blog/{base-hostname}/posts[/type]?api_key={key}&[optional-params=]

您可能想省略 /type,但您需要在可选参数中指定 offset。使用偏移量,您可以处理所有帖子,一次 20 个2,直到您将它们全部下载(您从 /info 查询中获得的数字)。下载帖子时,只需跟踪获得的标签即可。

不幸的是,您必须下载帖子的正文才能获得标签列表,但我没有看到任何其他方法可以为您提供标签,也没有看到压制正文并只看到元的选项-帖子数据。

**编辑**

1:根据 Felix 的评论,众所周知,/info 返回的帖子数有时会略有偏差。在预期数字很高的情况下,您需要确保只循环实际收到的结果,而不是预期的结果。要处理预期数量较低的情况,您可以进行一次查询,超过结束应该是什么,看看是否能得到任何结果。在这一点上,尽管您可能会考虑将 /info 查询放在一起,只查询 /posts 直到您不再获得任何结果。

2:根据 Felix 的第二条评论,尽管 API 列出了您可以一次拉下多少帖子的值范围,如 1-2020 默认值,据说它最多可以接受 50。一次提取 50 个结果可能会加快速度/降低带宽,但这会使您的代码更复杂才能正确执行。由于它是一个未记录的功能(阅读:可能只是一个错误),因此不能保证它会继续工作。因此,您可以尝试一次查询 50 个,但需要准备好处理 400 错误代码或类似的代码,以防他们使其服务与 API 匹配,然后默认返回 20。

关于javascript - 从 tumblr 博客获取所有唯一标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11333691/

相关文章:

plugins - Tumblr 开发工具

ruby - 如何在成功的 oauth 授权后使用 tumblr api 获取 base-hostename(博客名称)

themes - 开发高级 Tumblr 主题

javascript - JavaFX 使用 JavaScript 调用 Java 方法

javascript - js中不同的动画效果

javascript - 检索 Firebase 数据并返回它的最佳方式,或其他方式

c# - 调用javascript函数从后面的代码打印表单

python - 使用 Python 将图片发布到 Tumblr

javascript - Transition Js 动画循环无法正常工作

python - 如何在Python中对视频的二进制内容进行url编码?