2006/10/07

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

naoyaのはてなダイアリー 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…)

トラックバック by MugeSoの日記 — 2006/10/07

Leave a comment

Bloglines feedburner