豆瓣API测试
豆瓣API开放了已经快半个月了,今天我测试了一下,发现还不错,使用起来也比较简单。我用的是PHP+JSON来测试的,不过要想用JSON,PHP版本必须达到5.2.0以上才可以。下面是我以搜索和CSS相关的书籍来简单的说一下我的实现方式。
获得豆瓣的数据,然后转化为一数组(记得修改{yourapikey}为你在豆瓣上申请的api的key):
header("Content-Type: text/html; charset=utf-8");
$contents = file_get_contents("http://api.douban.com/book/subjects?apikey={yourapikey}&q=css&max-results=10&alt=json");
$array = json_decode($contents,true);
$contents = file_get_contents("http://api.douban.com/book/subjects?apikey={yourapikey}&q=css&max-results=10&alt=json");
$array = json_decode($contents,true);
文字链接方式(由于PHP的变量都是以$开头的,所以数组key里面出现的这个$是个不大不小的问题,我稍微变通了一下):
foreach ($array["entry"] as $item){
echo '<li><a href="'.$item["link"][1]["@href"].'">'.$item["title"]["$"."t"].'</a></li>';
}
echo '<li><a href="'.$item["link"][1]["@href"].'">'.$item["title"]["$"."t"].'</a></li>';
}
图片链接方式:
foreach ($array["entry"] as $item){
echo '<li><a href="'.$item["link"][1]["@href"].'"><img src="'.$item["link"][2]["@href"].'" title="'.$item["title"]["$"."t"].'" border="0" /></a></li>';
}
echo '<li><a href="'.$item["link"][1]["@href"].'"><img src="'.$item["link"][2]["@href"].'" title="'.$item["title"]["$"."t"].'" border="0" /></a></li>';
}
具体实现效果,请看这里:http://www.fesite.com/douban_api.php
容易吧,其实就是这么简单!不过现在的豆瓣开放的API功能还是太有限了,很多信息都无法通过API获得到,例如:好友列表等,不过这已经是一个很不错的开始了,希望豆瓣以后做得越来越好!
Tags: API, JSON, php, 豆瓣, 豆瓣API | 948 views
如果你觉得IE不好用(微软自己都承认IE的技术不如Firefox),你可以 ,来体验Firefox带给你的超爽感觉。




February 19th, 2008 at 4:06 pm
写的很好哦!
可以到乐偶网 http://www.leall.com 发表一下,让更多人知道。
March 3rd, 2008 at 10:11 pm
呵呵,我喜欢面向对象
不过php里面还有另外一种变通的方法如$json->title->{’$t’}
所以你的就可以改成
foreach ($array["entry"] as $item){
echo ‘‘.$item["title"]{’$t’}.’‘;
}
看起来也还好:)
March 4th, 2008 at 12:34 am
@巫山霏云:很好,我一下子把单引号给忘记了,呵呵。你的方法在理解上应该说更好一些。
March 4th, 2008 at 9:26 am
@yoyo
我也是有些把单引号给忘记的说
昨天回去的时候想的是直接是否可以用$item[”title”]['$t'],今天测试也是可以的
sigh~~能够不用{}也不错,毕竟{}不是那么好看
但是如果使用对象的话貌似就只能使用{}了
目前在学着用json处理,有些东西还没搞懂