InstagramApiComponentを作りました

June 24, 2011,
tags: cakephp php


このエントリーをはてなブックマークに追加

この記事はcakephp1.3を想定して書いています。

最近InstagramのAPIを使ったサイトがいくつか出てきていますよね。
このビッグウェーブに乗るしかないってことで、cakePHPからInstagramのAPIを扱うためのコンポーネントを作りました。

InstagramApiComponent

使い方は至ってシンプルで、app/controller/components/instagram_api.phpに置いて
以下のようにコントローラで扱ってあげればおkです。

<?php
class SampleController extends AppController
{

	var $components = array('InstagramApi');

	/**
	 * InstagramApiComponentの設定
	 * @var unknown_type
	 */
	var $instagramApi = array(
		'clientId' => 'xxxxxx',
		'clientSecret' => 'xxxxxxxxxxxxxxxxxxxx',
		'oauthCallbackUrl' => 'http://sample.com/sample/aouthCallback',
	);

	/**
	 * OAuthをスタートさせる
	 */
	function oauthStart() {
		$this->InstagramApi->oauthStart();
	}

	/**
	 * callback
	 */
	function oauthCallback() {
		$result = $this->InstagramApi->oauthCallback();

		// accessTokenだけを取得する
		var_dump($this->InstagramApi->readAccessToken());
	}

	/**
	 * OAuth後にAPIコールする場合
	 */
	function callapitest() {
		// ユーザー名を検索してみる
		// 詳しくは引数とかにかんしてはcallApiメソッドみればおk
		$result = $this->InstagramApi->callApi('/users/search',array('q' => 'polidog'));
	}
}

さくっと書いてしまったんで、いろいろとバグがあるかと思いますが、よかったら使ってみてください。

comments powered by Disqus