ログイン状態でIstagram Developerにアクセス
https://www.instagram.com/developer/
クライアントの登録
- 上部ナビの「Manage Clients」
- 「Register a New Client」という緑色のボタンを押す
- 必要な情報を入力
Application Name: 適当(変更可能)
Descritpion: 適当(変更可能)
Company Name: 適当(変更可能)
Website URL: 適当なURL(変更可能)
Valid redirect URLs: 認証後にリダイレクトするURL(変更可能)
Privacy Policy URL: 適当(変更可能)
Contact email: 適当(変更可能) - CAPTCHAに正しい文字を入力して「Register」という緑色のボタンを押す
アプリケーションクライアントの項目が一つ作成されCLIENT IDが取得できます。
アクセストークンを取得
下記にアクセスするとリダイレクト先のURLの末尾に「#access_token=***」という形でアクセストークンの文字列が付加されます。
https://api.instagram.com/oauth/authorize/?client_id=「CLIENT ID」&redirect_uri=「Valid redirect URL」&response_type=token&scope=public_content
Disable implicit OAuth:のチェックを外す
これを外さないとWebアプリケーションでの認証がうまくいきません。
- 「Manage Clients」にあるクライアントの「MANAGE」ボタンを押します。
- 「Security」タブにDisable implicit OAuth:というチェックボックスがあるのでチェックを外します。
- 「Update Client」という緑ボタンを押して反映させます。
PHPで画像を引っ張る
アクセストークンを定義
define( 'ACCESS_TOKEN', '******************************************' );
ユーザーアカウント名を検索し、ユーザーIDを取得
$user_api_url = 'https://api.instagram.com/v1/users/search?q=' . $user_account . '&access_token=' . ACCESS_TOKEN; $user_data = json_decode( @file_get_contents( $user_api_url ) ); $user_id = $user_data->data[0]->id;
画像が格納されたJsonを引っ張る
$photo_api_url = 'https://api.instagram.com/v1/users/' . $user_id . '/media/recent?access_token=' . ACCESS_TOKEN . '&count=18'; $photo_data = json_decode( @file_get_contents( $photo_api_url ) );
書き出し
foreach( $photo_data->data as $photo ) { echo '<img src="' . $photo->images->standard_resolution->url . '" alt="">'; }
コピペ用
define( 'ACCESS_TOKEN', '' ); $user_account = ''; $user_api_url = 'https://api.instagram.com/v1/users/search?q=' . $user_account . '&access_token=' . ACCESS_TOKEN; $user_data = json_decode( @file_get_contents( $user_api_url ) ); $user_id = $user_data->data[0]->id; $photo_api_url = 'https://api.instagram.com/v1/users/' . $user_id . '/media/recent?access_token=' . ACCESS_TOKEN . '&count=18'; $photo_data = json_decode( @file_get_contents( $photo_api_url ) ); foreach( $photo_data->data as $photo ) { echo '<img src="' . $photo->images->standard_resolution->url . '" alt="">'; }
参考:http://hamatte-wataru.com/instagram_sandbox/
- 関連記事
-
-
PHPでブラウザキャッシュを無効化する方法 2017/04/14
-
phpでローカルか否かを判別する 2017/03/30
-
インスタにアップした画像をPHPで引っ張る 2016/10/27
-
PHP 可変変数「$$」で変数の値を変数名にする 2015/02/26
-
秒数をH:iの形式に変換 2015/02/12
-