3

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

无论博客文章如何,我都想获取所有标签(唯一标签)的列表

所以如果我有10个帖子被标记Technology3个帖子被标记Web, -我想以它给我的方式查询我的博客,并且JavaScriptWebTechnologyWebJavaScript

比如说,一个数组 -results.posts.tags = ["Technology", "Web", "JavaScript"] 或一个对象,我可以挖掘它以找到tags然后在循环中迭代。

4

3 回答 3

3

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

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

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

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-20默认20情况下),据推测它最多可以接受50. 一次提取 50 个结果可以加快/降低带宽,但它会使你的代码更复杂,无法正确执行。由于它是一个未记录的功能(阅读:可能只是一个错误),因此无法保证它会继续工作。因此,您可以尝试一次查询 50 个,但需要准备好处理400错误代码或类似的东西,以防他们的服务与 API 匹配,然后默认返回 20。

于 2012-07-05T04:01:57.250 回答
0

我对它的工作原理一无所知,但确实如此:查看Tumblr 标签列表书签。应该至少给你一些你可以使用的代码。

于 2012-07-05T03:49:39.910 回答
0

我知道这是一篇旧帖子,但我认为它可能对某些人有用,因为我已经花时间将它制作成一个 javascript,它将所有唯一标签作为 javascript 对象返回。

https://github.com/scintillate/tumblrtag/

于 2013-06-30T04:35:00.647 回答