如果您转到 http://yourblog.tumblr.com/api/read,其中“yourblog”应该替换为您的博客名称(请注意,如果您像我一样在自定义域上托管您的 Tumblr 博客,请使用它)您会看到您博客的 XML 版本。由于某种原因,它在 Firefox 上对我来说真的很乱,所以我使用 Chrome,尝试了几个不同的浏览器,这将有助于查看 XML 文件的格式、缩进等。
一旦您查看了博客的 XML 版本,就会发现每篇文章都有一组属性 =“值”方向的数据。这是我博客中的一个例子:
<post id="11576453174" url="http://wamoyo.com/post/11576453174" url-with-slug="http://wamoyo.com/post/11576453174/100-year-old-marathoner-finishes-race" type="link" date-gmt="2011-10-17 18:01:27 GMT" date="Mon, 17 Oct 2011 14:01:27" unix-timestamp="1318874487" format="html" reblog-key="E2Eype7F" slug="100-year-old-marathoner-finishes-race" bookmarklet="true">
因此,有很多方法可以做到这一点,我将向您展示我使用的一种方法,并将我的代码放在这篇文章的底部,以便您可以根据自己的需要进行调整。注意 type="link" 部分?还是 id="11576453174" ?这些是您将用于将数据提取到 PHP 脚本中的值。
示例如下:
<!-- The Latest Text Post -->
<?php
echo "";
$request_url = "http://wamoyo.com/api/read?type=regular"; //get xml file
$xml = simplexml_load_file($request_url); //load it
$title = $xml->posts->post->{'regular-title'}; //load post title into $title
$post = $xml->posts->post->{'regular-body'}; //load post body into $post
$link = $xml->posts->post['url']; //load url of blog post into $link
$small_post = substr($post,0,350); //shorten post body to 350 characters
echo // spit that baby out with some stylish html
'<div class="panel" style="width:220px;margin:0 auto;text-align:left;">
<h1 class="med georgia bold italic black">'.$title.'</h1>'
. '<br />'
. '<span>'.$small_post.'</span>' . '...'
. '<br /></br><div style="text-align:right;"><a class="bold italic blu georgia" href="'.$link.'">Read More...</a></div>
</div>
<img style="position:relative;top:-6px;" src="pic/shadow.png" alt="" />
';
?>
所以,这实际上相当简单。此处的 PHP 脚本将 xml 文件中的数据(如帖子标题和帖子文本)放入 php 变量中,然后将这些变量与一些 html 一起回显以创建一个 div,该 div 具有来自博客帖子的 sn-p。这一篇以最新的文字帖子为特色。随意使用它,只需进入并将第一个 url 更改为您自己的博客。然后从您的 xml 文件中选择您想要的任何值。
例如,假设您想要的不是最新的,而是第二个最近的“照片”帖子。您必须将 request_url 更改为:
$request_url = "http://wamoyo.com/api/read?type=photo&start=1"
或者假设您想要带有特定标签的最新帖子
$request_url = "http://wamoyo.com/api/read?tagged=events";
或者假设您想要一个特定的帖子,只需使用 id
$request_url = "http://wamoyo.com/api/read?id=11576453174";
所以你所要做的就是坚持?使用任何参数,如果您有多个参数,请使用 &。
如果你想做一些更高级的事情,你需要 tumblr api 文档:http://www.tumblr.com/docs/en/api/v2
希望这对您有所帮助!