Web2.0なまとめだって。
phpspotさんの記事がはてブのトップに載っている。
なんかブックマークが、150件もあるわけだが、なんつーか。
つか、Services_YouTubeは私のサイトでは、もう開発していないし、PEARにリンクを貼ってもらいたいところだ。ちゃんと調べておいて欲しかったな。ちなみに、最近、私が価格.comのAPIをかぶせたパッケージも作りはじめたけど、チェックされてないですね。
で、PEARにFlickrがないとあるけども、まぁ、なんでだろうね。私としては、PEAR::Flickrよりも、phpFlickrよりも、Phlickrが完成度が高そうな感じがしているのだが。。と言いつつ、実際に使ったことはないので、だれか人柱になってくれることを望む。ソースや、サンプルコードを見た限りでは、PHPUnit2なテストも付いているし、なかなか包括的な感じがする。
ただ、最近FlickrがPHPのserialize形式で返すようになったので、あまり必要はなくなるかもしれないと勝手に思っている。ただ、Authenticationのところは必要だなー。いくつかのAPIはAuthenticationがないと通らないしね。
つーか、FlickrのAuthenticationはちょいと複雑なのである。この辺を参考にしてね。
まちゅダイアリー Flickrの認証API
まぁ、Authentication無しでもいくつかAPIは使用できるので、それは、それでありだな。ちょっと作ってみようかな、と思ったけど、Services_KakakuComの方の修正をする必要があるので、当分の間はしない。。。
と言いつつ、やっちゃった。いや、Authだけね。Authだけ。
<?php
class FlickrAPITest
{
const URL = ‘http://flickr.com/services/’;
private $apiKey;
private $perms;
private $sharedSecret;
public function __construct($apiKey, $perms = null, $sharedSecret = null)
{
$this->apiKey = $apiKey;
$this->perms = $perms;
$this->sharedSecret = $sharedSecret;
}
public function getAuthURL()
{
if (is_null($this->perms) or is_null($this->sharedSecret)) {
throw Exception(‘To use authentication API, ”perms” and ”sharedSecret” are required.’);
}
$parameters['api_key'] = $this->apiKey;
$parameters['perms'] = $this->perms;
ksort($parameters);
$query = array();
$signature = ”;
foreach ($parameters as $key => $value) {
$signature .= $key . $value;
$query[] = $key . ‘=’ . urlencode($value);
}
$query[] = ‘api_sig=’ . md5($this->sharedSecret . $signature);
return self::URL . ‘auth/?’ . implode(‘&’, $query);
}
}
$flickr = new FlickrAPITest(‘YOUR_API_KEY’, ‘read’, ‘YOUR_SHARED_SECRET’);
$url = $flickr->getAuthURL();
var_dump($url);
?>
そして、これを私のapi_keyとshared secretを使うと次のURLができあがる。
http://flickr.com/services/auth/?api_key=2bc97ac271bc5a365484491d3fc3b6b9&perms=read&api_sig=ba1c64914415b42b52d0e29b85f24230
これを使って認証をすることで、私のサイトからFlickrの認証が必要なAPIを使えるようになるのだ。
で、formatにphp-serialを指定したら、それだけでいろいろできちゃいそう。。。つか、やっちゃいそう。。


[PHP]なおもPHPSPOTクオリティ…
Services_YouTubeの作者がPHPSPOTでの扱いに困惑気味の様子。 つか、Services_YouTubeは私のサイトでは、もう開発していないし、PEA (more…)