[API] Instagaran Graph API で写真や動画を取得するぞ!
はじめに
Instagramの情報を使いたいなと思ったとき、使用できるAPIが下記2種類(※2023年1月6日時点)ありますが、この記事ではInstagramグラフAPIについて記載します。
・ InstagramグラフAPI
・ Instagram基本表示API
InstagramグラフAPIを使用するには「アクセストークン」と「InstagramビジネスアカウントID」が必要になります。
そこで、「アクセストークン」と「InstagramビジネスアカウントID」の取得方法と「APIによる写真/動画取得方法の一例」をまとめます。
流れ
- InstagramとFacebookのアカウント作成
- Instagramアカウントをプロアカウントに変更
- Facebookでページを作成
- InstagramアカウントとFacebookアカウントを連携
- Meta for Developersのアカウント作成
- Facebookアプリの作成
- InstagramグラフAPIを追加
- アクセストークン取得
- InstagramビジネスアカウントID取得
- APIによる投稿取得例
1. InstagramとFacebookのアカウント作成
InstagramとFacebookのアカウントを作成します。
2. Instagramアカウントをプロアカウントに変更
アカウントをプロアカウントに切り替えます。
3. Facebookでページを作成
ページをクリックするとページ作成画面に遷移するので、ページを作成します。
4. InstagramアカウントとFacebookアカウントを連携
Instagram投稿を宣伝をクリックすると設定画面に遷移するので、アカウントを連携させます。
連携できるのは、1つのFacebookページに対して、1つのInstagramアカウントまでです。
5. Meta for Developersのアカウント作成
Meta for Developersのアカウントを作成します。
スタート
をクリックするとアカウント作成画面に遷移します。
6. Facebookアプリの作成
アプリ作成をクリックします。
アプリタイプにビジネスを選択して、アプリを作成します。
※Instagram Graph APIを使用するにはビジネス
の選択が必須
7. InstagramグラフAPIを追加
作成したアプリがダッシュボードに追加されているので、アプリに製品を追加することができるようになります。ダッシュボードから「InstagramグラフAPI」を追加します。
8. アクセストークン取得
アクセストークンの生成に必要となるアプリID
とapp secret
を確認します。
「設定」の「ベーシック」クリックします。アプリID
とapp secret
が表示されるのでメモします。
画面右上メニューの中の「ツール」から「InstagramグラフAPIエクスプローラー」を開きます。
先程作成したアプリを選択し、「ページアクセストークンを取得」をクリックします。
アクセス許可を設定後、「Generate Access Token」をクリックするとアクセストークンが生成されます。
このアクセストークは使用期間が短いため、無期限トークンを取得します。
生成後、ブラウザで下記URLにアクセスします。
https://graph.facebook.com/[使用するグラフAPIのバージョン]/oauth/access_token?grant_type=fb_exchange_token&client_id=[メモしたアプリID]&client_secret=[メモしたapp secret]&fb_exchange_token=[先ほど生成したトークン]
アクセストークンが返信されます。
{"access_token":"*******************************************"
取得したアクセストークンを使用して、ブラウザで下記URLにアクセスします。
https://graph.facebook.com/[使用するグラフAPIのバージョン]/me?access_token=[取得したアクセストークン]
IDが返信されるのでメモします。
{
"name": "****************",
"id": "*****************"
}
取得したIDを使用して、ブラウザで下記URLにアクセスします。
https://graph.facebook.com/[使用するグラフAPIのバージョン]/[取得したID]/accounts?access_token=[取得したアクセストークン]
再びアクセストークンが返信され、無期限トークンの取得が完了です。
{
"data": [
{
"access_token": "*********************************",
"category": "",
9. InstagramビジネスアカウントID取得
InstagramビジネスアカウントIDは、グラフAPIエクスプローラーのコマンドに、
me?fields=instagram_business_account
を入力し、アクセストークン取得した無期限トークンを入力して送信すると取得できます。
10. APIによる投稿取得例
試しに、以下URLをブラウザに入力して、自分の投稿を取得してみます。
※[InstagramビジネスアカウントID]と[アクセストークン]の部分をご自身のものに変更してください
※URL末尾のfields=media{like_count,media_url}
でいいね数と投稿URLの取得を指定しています
https://graph.facebook.com/v15.0/[InstagramビジネスアカウントID]?access_token=[アクセストークン]&fields=media{like_count,media_url}
取得に成功すると以下のような結果が表示されます。
{
“media”: {
“data”: [
{
“like_count”: ***
“media_url”: "*********************************"
他にも色々と取得できるので、ぜひドキュメントをみながら、試してください!
Discussion