【问题标题】:Get Tumblr blog's tags without OAuth在没有 OAuth 的情况下获取 Tumblr 博客的标签
【发布时间】:2014-06-23 21:27:04
【问题描述】:

我正在尝试在我的 tumblr 博客中获取标签为 gallery-worthy 的所有帖子的列表。我正在研究免费主题 CLUB MONACO 的源代码。他们有一个幻灯片 js,它加载所有带有标签 featured 的帖子并提取所有图片。

http://static.tumblr.com/i21wc39/hL6mn3w8d/application.js

虽然我看不到未经混淆的源代码,但我可以看出他们没有 api_key 或 oauth 来访问标记的帖子。好像是在打电话给/tagged/featured

他们是怎么做到的?他们打电话的网址是什么?

【问题讨论】:

标签: javascript jquery oauth tumblr


【解决方案1】:

这是一个相对 URL - 对于 sitename.comsitename.tumblr.com/tagged/featured 将附加到主 URL。看起来有一些检查,其中相对 URL 是 /,但正如你所说,在这么大的脚本中很难分辨出单个字母变量引用的是什么。

e.get("/tagged/featured", {} function(t) 是 JQuery 执行XmlHttpRequest 的方式,其中function(t) 是成功完成请求后的结果。您必须进一步研究主题才能找到 t 给出的输入。

收到 HTML 后,将检查带有 post 类的元素,然后检查 photo 类(照片帖子...)

数组i 接收图像的data-highres(全尺寸)URL 和url、相关帖子的永久链接和theme_garden(设置为true)。

var i = [];
            e(t).find(".post").each(function (t, n) {
                5 >= i.length && e(n).hasClass("photo") && i.push({
                    cropped_image: e(n).find("img").attr("data-highres"),
                    url: e(n).attr("data-permalink"),
                    theme_garden: !0
                })

对于每个帖子,都会呈现一张幻灯片,然后从模板构建幻灯片

$template = e.parseHTML(Mustache.render(e("#slideshow_template").html(), {
                slides: i
            })), n.buildCarousel($template)
}, "html")

从外观上看,这只会使用/tagged/... 的第 1 页,但要获得更多信息,您只需为后续页面添加 page/2(取决于您对每页帖子的设置)。看起来这个主题每页使用 5 个。

【讨论】:

  • 我明白了.. 似乎他们只是从/tagged/featured/ 获得 html 响应。我的印象是他们会从那个 REST 调用中得到 JSON 响应
  • 我可能错了!我不使用 JQuery,所以也许其他人会纠正我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多