WordPress・WEB系の開発(プログラム)関係や技術情報ほか、技術情報全般を掲載

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

PHP インスタに投稿した写真をAPI経由で取得&表示する方法

インスタグラムに投稿した写真をAPI経由で取得して表示するためのざっくりとしたサンプルです。

1.Instagram Developer Documentation へ移動

インスタのフッター等にある API のリンクから「Instagram Developer Documentation」ページへ移動します。
https://www.instagram.com/developer/

2.Developer Signup

ページ上部のメニューにある「Manage Clients」をクリックすると「Developer Signup」のフォームが表示されますので
サイトURL / 電話番号 / 利用目的を入力し「Signup」をクリックします。
[1] ウェブサイト:
[2] Phone number:
[3] What do you want to build with the API?
※日本語でも問題ありませんでした。

3.Manage Clients

「Manage Clients」のページへ移動し「Register a New Client」をクリックするとフォームが表示されます。
必要情報を入力し「Register」をクリックします
※Securityタブの「Disable implicit OAuth:」のチェックは外して登録します。
※無事登録が終わるとクライアントIDが発行されます。

4.アクセストークン取得

3で取得したクライアントIDを下記URLの「クライアントID」と置き換えてブラウザでアクセスします。(リダイレクトURLも置き換えます)
https://www.instagram.com/oauth/authorize/?client_id=クライアントID&redirect_uri=リダイレクトURL&response_type=token

その後「This app is in sandbox mode and can only be authorized by sandbox users.」というメッセージが表示されるページが表示されますので
「Authorize」をクリックするとリダイレクトURLにアクセストークンが付与されたURLにリダイレクトされます。

http://リダイレクトURL/#access_token=0000000000.XXXXXXXXXX

5.PHPサンプル(インスタグラムに投稿済み写真をAPI経由で取得する)

/**
 * インスタグラムに投稿済み写真をAPI経由で取得する
 */
function get_instagram_photo($access_token='')
{
    if (!$access_token) {
        return false;
    }

    $url          = 'https://api.instagram.com/v1/users/self/media/recent/?access_token='.$access_token;
    $data_array   = json_decode(file_get_contents($url), true);
    $photo_array  = array();

    foreach ($data_array['data'] as $data) {
        $img = $data['images']['low_resolution'];
        $photo_array[$data['created_time']] = array(
            'img'          => $img['url'],
            'link'         => $data['link']
        );
    }
    
    return $photo_array;
}

関連記事

コメントは利用できません。

アーカイブ