【v.11.0】Instagram投稿に必要な無期限アクセストークン取得

執筆時点のグラフAPIのバージョンはv.11.0です。

**グラフ APIの無期限アクセストークン取得**
**Instagram表示に必要なIDの取得**

の解説をします。
#準備
- Facebookビジネスアカウント(facebookページ）を作成
- Instagramアカウントをプロアカウントに切り替える
- 上記2つを連携

#手順
無期限アクセストークンの取得までに2つの有効期限付きアクセストークンを取得する必要があります。
すべての作業は[https://developers.facebook.com/](https://developers.facebook.com/)で行います。
スムーズに作業できれば所要時間は5分程度です。
##有効期限「1時間以内」のアクセストークン取得まで
- [https://developers.facebook.com/](https://developers.facebook.com/)にアクセス
- Facebookにログイン
- 「マイアプリ」をクリック
![FireShot Capture 019 - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/d39825a3-cf10-8c6d-0589-d0cd1b363b2d.png)
- 「アプリを作成」をクリック
![FireShot Capture 020 - すべてのアプリ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/7b2ec63b-3c21-6eea-0e62-8c373110ea79.png)
- 「ビジネス」を選択
- 「次へ」をクリック
![FireShot Capture 022 - すべてのアプリ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/05b07a68-fcc9-88e9-9154-50371d0fa78e.png)
- 「アプリ表示名」「アプリの連絡先メールアドレス」「アプリの目的」を記入
(アプリ表示名はわかりやすい名前でOK)
- 「アプリを作成」をクリック
![FireShot Capture 023 - すべてのアプリ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/0f5c9f8c-a097-8e53-83ca-08ebcefe1cc1.png)
- 再度Facebookパスワードを入力し「送信」をクリック
![FireShot Capture 024 - すべてのアプリ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/ddb26ac3-7724-e6ef-0d4e-98ef1ab62444.png)
- 「ツール→グラフAPIエクスプローラ」をクリック
- Facebookアプリの欄を先ほど付けた名前のアプリを選択
- 「Generate Access Token」をクリック
![FireShot Capture 038 - グラフAPIエクスプローラ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/2cd91bbc-f80d-4251-6f73-c9f8b82ffa45.png)
- アクセス許可を「許可を追加」から選択(不明な場合下記)

【Events Groups Pages】
business_management
pages_manage_ads
pages_manage_metadata
pages_read_engagement
pages_read_user_content
pages_show_list
 
【Other】
instagram_basic
instagram_manage_comments
instagram_manage_insights

- 「Generate Access Token」をクリック

![FireShot Capture 026 - グラフAPIエクスプローラ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/ec3df21c-86ef-4b4f-542d-5035cb94ae20.png)

- 「許可するアクセスを選択」をクリック
![FireShot Capture 027 - Facebookでログイン - www.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/5f6e5bc1-7356-2d01-b839-ddb1921e9288.png)
- 許可するアカウントやアプリにチェック

※Facebookページを複数もっているアカウントで複数チェック入れると、チェック入れた分だけの投稿等を取得できてしまうため注意。基本は全て同じFacebookページにチェックを入れればOK
- 「次へ」をクリック
![FireShot Capture 039 - Facebookでログイン - www.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/6c0f3053-af9f-4ab9-d30e-b72d47cf8789.png)

- アクセストークン左の「i」をクリック
- 「アクセストークンツールで開く」をクリック
![FireShot Capture 029 - (1) グラフAPIエクスプローラ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/5d2b2a18-e28b-db17-034a-09c49d2063b4.png)
- 「有効期限1時間以内」となっていれば成功
![FireShot Capture 030 - アクセストークンデバッガー - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/901e06e3-1180-7723-1e95-13b2fd70812c.png)

##有効期限「2ヶ月以内」のアクセストークン取得まで
- 「アクセストークンを延長」をクリック
- 再度Facebookパスワードを入力
![FireShot Capture 034 - アクセストークンデバッガー - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/f906b72a-483e-470b-9046-6406cfa5738e.png)

- 「デバッグ」をクリック
![FireShot Capture 031 - アクセストークンデバッガー - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/5e69706b-6e56-39f5-0fdb-ce6a3084da29.png)

- 「有効期限2ヶ月以内」となっていれば成功 
![FireShot Capture 032 - アクセストークンデバッガー - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/ca6b4575-9dc1-9909-f649-1992ac3b9222.png)

##有効期限「無期限」のアクセストークン取得まで
- 上記画面から有効期限2ヶ月以内のアクセストークンをコピー
- 「マイアプリ→ツール→グラフAPIエクスプローラ」をクリック
- アクセストークンの欄に有効期限2ヶ月以内のアクセストークンをペースト
- 上部バーに```me/accounts```を入力
- 「送信」をクリック
- ![FireShot Capture 033 - (1) グラフAPIエクスプローラ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/99605637-8553-884a-eb80-eb6c0d2757f4.png)
- ```"access_token": "~~~~"```~~~~をコピー
- 「ツール→アクセストークンデバッガー」をクリック
![FireShot Capture 035 - (1) グラフAPIエクスプローラ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/9c59bae4-32dc-9f0a-82e7-aa2ac2b1c847.png)

- 上部バーに~~~~をペースト
- 有効期限「受け取らない」となっていれば成功 
![FireShot Capture 036 - アクセストークンデバッガー - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/2b6ab321-d7fe-d7b3-de89-f7d799cec44e.png)

##Instagram ID 取得まで
- 「マイアプリ→ツール→グラフAPIエクスプローラ」をクリック
- 上部バーに```me?fields=accounts{instagram_business_account}```を入力
- 「送信」をクリック
- ```"id": "~~~~"```~~~~がInstagram ID
![FireShot Capture 037 - グラフAPIエクスプローラ - Facebook for Developers - developers.facebook.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543077/72b93ccd-6d9e-98c7-e8f0-55e748cdeb8d.png)

#まとめ
バージョンによって取得方法が都度変更になる可能性がありますが、以前に比べて単一のページ内で完結できるので取得~管理がしやすくなりましたね、嬉しいです。

無期限でアクセストークンを取得したはずなのにアクセスが切れている！という方は[こちら](https://qiita.com/ari-chel/items/b647030732e463abaccc)