Instagram Basic Display API を使ってみた

Instagram Basic Display API とは

https://developers.facebook.com/docs/instagram-basic-display-api

このAPIは、アクセス許可を得たInstagramユーザーの投稿やプロフィールの表示を行うためのAPIです。

すべてのユーザーに対してアクセス可能ですが表示することしかできません。そのため、ハッシュタグで検索やコメントの取得など、もっと複雑なことがしたい方はInstagram Graph APIを参考にしてみてください。

今回は、Instagram Basic Display API を使って、Instagramユーザーの投稿やプロフィールのデータを取得してみました。

準備するもの

    • Facebook Developer アカウント

Facebook Developer アカウントをお持ちでない方は、Facebook for Developers から、Facebook アカウントを開発者として登録してください。

    • Instagram アカウント

投稿を表示したい Instagram アカウントを用意してください。

    • 公開されているWebサイト

投稿を表示するためのWebサイトも必要です。

    • cURLリクエストが実行できるコマンドラインツール、またはアプリ

cURLリクエストを用いてデータの取得を行うため、それが実行できる環境があればよいです。

Facebookアプリを作成

アプリIDの作成

Facebook for Developers右上の[マイアプリ]にアクセスし、[新しいアプリを追加]をクリックします。
すると、アプリの利用目的を聞かれるので、[その他]を選択してください。
セキュリティチェック後、アプリ名と連絡先を入力し、[アプリIDを作成]を押してください。

プラットフォームの追加

左メニューの[設定]>[ベーシック]を開き、[+プラットフォームを追加]をクリックしてください。開いたダイアログで[ウェブサイト]を選択し、
WebサイトのURLを入力して、[変更を保存]をクリックします。

Instagram Basic Display の構成

Instagram APIの追加

左メニュー[プロダクト]から、[Instagram Basic Display]欄の[設定]をクリックしてアプリに追加します。

Instagramアプリの作成

画面下部の[Create New App]をクリックし、[表示名]にFacebookアプリ名が入力されているので、そのまま[アプリを作成]ボタンを押してください。
[クライアントOAuth設定]、[承認を取り消す]、[データの削除リクエスト]の欄には使用するWebサイトのURLを入力すれば大丈夫です。[変更を保存]ボタンを押して次に進みます。

テスターの追加

次に、投稿一覧を表示したいInstagramテスターを追加します。

左メニュー[役割]>[役割]をクリックし、[Instagramテスターの追加]からInstagramユーザーを検索して追加してください。
Instagramにログインし、[設定]>[アプリとウェブサイト]>[テスターへのご招待]を開くと、アプリからテスターの招待が来ているので承認します。

テスターの認証

Instagramユーザー(テスター)のアクセストークンを取得していきます。

[プロダクト]>[Instagram Basic Display]>[Basic Display]をクリックし、追加したInstagramユーザーの[Generate Token]ボタンをクリックしてください。
ダイアログが現れるのでInstagramアカウントへのアクセスを承認すると、次の画面が表示されます。

[I Understand]チェックボックスにチェックを入れるとアクセストークンが現れます。データを取得するために必要なので、コピーして大事に保管しておいてください。
(アクセストークンが使える期間は60日らしいです)

データの取得

データを取得する準備が整ったので、あとはcurlリクエストでデータを取得するだけです。
例えば、以下のように実行するとユーザー情報をjson形式で取得することができます。

出力例

その他、投稿一覧やメディアのURLなども取得できるので、Instagram Basic Display API リファレンスを参考にしてみてください。

おわりに

今回はテスターのみアクセスを行いましたが、他のInstagramユーザーへのアクセスも可能ですので、その際は、Facebookアプリのアプリレビューを受け、ライブモードに切り替えて実行してみてください。

また、アクセストークンの期限が60日で切れるため、定期的に取得しなおすプログラムを作成するといいと思います。

以上、「Instagram Basic Display API を使ってみた」でした。