如你所见,我在blog首页加了一个我最近的mp3播放列表。这里简单介绍一下如何在CakePHP中使用Last.fm的API来实现上述功能。
在API页面点那个“Apply for an API account”,填好表单后即可拿到API key。
去http://www.matto1990.com/lastfm_protocol/下载最新版的PHP Last.fm API,下载后解压缩至Cake的vendors目录,目录结构为 vendors/lastfmapi/。
打开lastfmapi.php,在文件开始处添加如下代码:
//set a new include_path ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.dirname(__FILE__));
另外建议把此文件中的require一律改为require_once。
新建一个文件名为lastfms_controller.php的controller,并加入如下代码:
class LastfmsController extends AppController { var $name = 'Lastfms'; var $uses = null; var $__apiKey = 'Your API Key'; var $__user = 'Your Last.fm username'; function index() { App::import('Vendor', 'lastfmapi/lastfmapi'); $authVars['apiKey'] = $this->__apiKey; $auth = new lastfmApiAuth('setsession', $authVars); $apiClass = new lastfmApi(); $packageClass = $apiClass->getPackage($auth, 'user'); $methodVars = array( 'user' => $this->__user ); if($lastfmRecentTracks = $packageClass->getRecentTracks($methodVars)) return $lastfmRecentTracks; } }
这个index()会返回此用户最近播放过的歌曲,剩下的就不用我说了吧,呵呵。
常来看你的网站 我也是mac的fans
这个fm api分享不错 我觉得我们兴趣相投啊
@Ryan: 我最近在玩豆瓣的API,不过搞不懂Google Data API到底怎么用。豆瓣提供了第三方开发的基于Zend Framework的php客户端,但这个客户端没有完全封装所有的事情-比如如何取出XML中的一个特定的值呢?
[emoticon:bad_smile]我对Api还仅限于一些初级应用哈哈 google data api 我准备研究研究
多多交流
我的blog改了地址了,新的地址是www.huangj.net
[emoticon:glasses] 兄弟,多谢了,偶的网站也是cakephp的。
博主挺阳光帅气的哦!有研究最近的QQ登录么?