アクセストークンの取得方法

さて、ここからはいよいよアクセストークンの取得についての説明です。今回は有効期限がないアクセストークンを取得するため、アクセストークンの延長を行います。全部で3回のアクセストークンの取得が必要となり、最終的に取得する3番目のアクセストークンが実際のAPI認証に使用するものであることを念頭に作業します。。

(1)Facebook for developersから1番目のアクセストークンを取得する

事前にFacebook for developers(https://developers.facebook.com)にアクセスして、「マイアプリ」から新しいアプリを作成します。表示名を入力しますが、自分が識別できる名称であれば任意のもので構いません。「アプリIDを作成してください」を押して完了です。ここまで、準備を終えておいてください。

アクセストークン取得の具体的なステップです。
Facebook for developers(https://developers.facebook.com/tools/explorer/)のグラフAPIエクスプローラーにアクセスし、以下のように「トークン取得」というメニューから「ユーザーアクセストークンを取得」を選択します。

image1.png

次に、アクセス許可を選択します。「buisiness_management」「manage_pages」「pages_show_list」「instagram_basic」にチェックを付与して「アクセストークンを取得」を押します。

別ウィンドウでFacebookのログインを求められるので「OK」を押します。もし必要があれば、OKを押す前に「許可するアクセスを選択」から管理しているFacebookページのどれに対してアクセスを許可するかを指定することもできます。

image4.png

以下のようにアクセストークンの欄に文字列が表示されているのを確認できるでしょう。

image9.png

アクセストークンの文字列の手前にあるインフォメーションボタンをクリックすると、アクセストークン情報を表示します。すると、以下のように、このアクセストークンは1時間後が有効期限であることがわかります。これでは長い間使えないので延長処理をしなければいけません。

image7.png

(2)2番目のアクセストークンを取得する

マイアプリから今回使用しているFacebookアプリを選択し、左袖メニューを「設定」→「ベーシック」にします。ここで、「アプリID」と「app secret」をコピーしておきます。 「app secret」は表示させるためにFacebookのパスワードが必要になります。

image2.png

次に、先ほどコピーした必要情報を入れてブラウザでアクセスします。
以下のURLの「アプリIDを入力」と「先ほど取得した短期期限のアクセストークンを入力」の部分を先ほどコピーしておいたものに変更してアクセスしてください。

https://graph.facebook.com/v3.3/oauth/access_token?grant_type=fb_exchange_token&client_id=アプリIDを入力&client_secret=app secretを入力&fb_exchange_token=先ほど取得した短期期限のアクセストークンを入力

すると、以下の実行結果の画面が表示されます。「access token」のあとの文字列が2番目のアクセストークンですので、コピーしておきます。このアクセストークンは有効期限を少し延長したものであり、期限を定めないアクセストークンの取得にはもうワンステップの作業があります。

【実行結果】

image6.png

(3)有効期限がない3回目のアクセストークンを取得する

いよいよ最後のステップです。以下の部分に2番目のアクセストークンを設定して実行します。
以下のURLの「2番目のアクセストークンを入力」の部分に先ほどコピーした2番目のアクセストークを設定しアクセスします。

https://graph.facebook.com/v3.3/me?access_token=2番目のアクセストークンを入力

以下の画面が表示されますので、idをコピーしておきます。

【実行結果】

image3.png

さらに、以下のURLに必要事項を設定し、実行します。上記の「id」と「2番目のアクセストークン」を使います。

https://graph.facebook.com/v3.3/上記のidを入力/accounts?access_token=2番目のアクセストークンを入力

すると、以下のように、最終的に必要になる3番目のアクセストークンを取得できます。「access token」の後に表示している長い文字列です。これが有効期限のないアクセストークンです。

【実行結果】

image8.png

アクセストークンデバッガーで確認する

アクセストークンデバッガーで確認してみましょう。3番目のアクセストークンを入力し、「デバッグ」をクリックすると、「有効期限=受け取らない」になっていることを確認できると思います。

これで、Instagramのアクセストークンの取得は完了です。

image5.png