インスタにアップした画像をPHPで引っ張る

/ PHP / Comment[0]

ログイン状態でIstagram Developerにアクセス

https://www.instagram.com/developer/

クライアントの登録

  1. 上部ナビの「Manage Clients」
  2. 「Register a New Client」という緑色のボタンを押す
  3. 必要な情報を入力
    Application Name: 適当(変更可能)
    Descritpion: 適当(変更可能)
    Company Name: 適当(変更可能)
    Website URL: 適当なURL(変更可能)
    Valid redirect URLs: 認証後にリダイレクトするURL(変更可能)
    Privacy Policy URL: 適当(変更可能)
    Contact email: 適当(変更可能)
  4. 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アプリケーションでの認証がうまくいきません。

  1. 「Manage Clients」にあるクライアントの「MANAGE」ボタンを押します。
  2. 「Security」タブにDisable implicit OAuth:というチェックボックスがあるのでチェックを外します。
  3. 「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/

関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可