目次
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形式で取得することができます。
1 2 3 |
https://graph.instagram.com/me ?fields=id,username &access_token={access-token} |
出力例
1 2 3 4 |
{ "id": "", "name": "" } |
その他、投稿一覧やメディアのURLなども取得できるので、Instagram Basic Display API リファレンスを参考にしてみてください。
おわりに
今回はテスターのみアクセスを行いましたが、他のInstagramユーザーへのアクセスも可能ですので、その際は、Facebookアプリのアプリレビューを受け、ライブモードに切り替えて実行してみてください。
また、アクセストークンの期限が60日で切れるため、定期的に取得しなおすプログラムを作成するといいと思います。
以上、「Instagram Basic Display API を使ってみた」でした。