STAFF BLOG スタッフブログ

Instagram API でhtmlに画像の埋め込み

マメでない私ですので、Instagramなんて
まったく使っておりません・・・。(・囚・`;

毎日、ゲームの日々で星ドラしてますが
課金まったくせず遊んでいるので
ロト・天空の装備がなかなか集まらない・・・。

webサイト構築でAPIから、html生成するように対応いたしました。
以下がソースコードになります。
無料アカウントのAPI読み込みは
1日に何回までと制限があるようですので
taskで処理いたしております。



## APIの設定情報を /fuel/app/config/api.php に置く。

<?php

return array(
	// インスタグラム
	'instagram' => array(
		// API-URL
		'api_url'    => 'https://api.instagram.com/v1/users/self/media/recent/?access_token=',
		// API-KEY
		'api_key'    => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
		// 保存場所
		'save_file'  => APPPATH.'data/instagram.php',
	),
);

## task実行のプログラム

<?php

namespace Fuel\Tasks;

// インスタhtml生成
class Instagram
{

	public static function run()
	{
		// 開始ログ保存
		$count = 0;
		$error = 0;
		$now   = \Config::get('my_config.now');
		$now_url = 'tasks:instagram:run';

		\Config::load('api', true);
		$config = \Config::get('api.instagram');

		try
		{
			$json = file_get_contents($config['api_url'].$config['api_key']);
			$tmp  = json_decode($json);
			$list = $tmp->data;

			$html  = '';
			$html .= '<ul>';
			if ( $list && is_array($list) )
			{
				foreach ( $list as $item )
				{
					$html .= '<li><a href="'.$item->link.'" target="_blank"><img src="'.$item->images->low_resolution->url.'" alt=""></a></li>';
				}
			}
			$html .= '</ul>';
			file_put_contents($config['save_file'], $html);
		}
		catch (Exception $e)
		{
			// エラー時の処理
		}
	}

}

## フロント側htmlは生成したhtmlを読み込み

<html>
	<body>
<?php
		include_once(APPPATH.'/data/instagram.php');
?>
	</body>
</html>

(・囚・)ノ

INDEXブログ一覧へ
CONTACTお問い合わせはこちら