Instagram API利用ガイド: Instagramに連携する方法
Instagramは主に、Instagram Graph APIとInstagram Basic Display APIといった2つのAPIを提供しています。この記事では、Instagram Basic Display APIを取り上げ、その使い方を皆さんに紹介していきたいと思います。
Instagramは、全世界のユーザーにも愛用されているSNSプラットフォームとなり、企業、開発者、クリエイターにとって強力なツールになっています。ユーザーエクスペリエンスを向上させ、常に自分のアプリをシームレスにInstagramに連携する必要があります。
このような場合は、Instagram APIを利用する必要があります。Instagramは主に、Instagram Graph APIとInstagram Basic Display APIといった2つのAPIを提供しています。この記事では、Instagram Basic Display APIを取り上げ、その使い方を皆さんに紹介していきたいと思います。
そこで、Instagram APIを簡単に利用したり、テストしたりしたい場合、Apidogを使うのが一番便利な対策だと言えます。
Instagram Basic Display API
Instagram Basic Display APIは、Instagram(Facebookの子会社)が提供するツールで、開発者がInstagramアカウントの基本的なユーザー情報、メディアコンテンツ、その他のデータにアクセスできるようにします。
このAPIは、ユーザーデータへの読み取り専用アクセスが必要なシナリオ向けに特別に設計されているため、Instagramコンテンツの表示やパーソナライズ体験の提供に焦点を当てたアプリケーションに適しています。
Instagram APIにアクセスする要件
Instagram APIにアクセスするには、次のことが必要となります。
- Facebookの開発者アカウント
- テスター用のInstagramアカウント
- アプリケーションにInstagramアクセス許可を与えるためのリダイレクト用Webページ(URL)
Instagram APIのセットアップの手順
- 開発者ページで[Create App]をクリックし、[Other]を選択して進みます。
2. アプリの種類としてcustomerを選択します。(Instagram Basic Display APIの場合)
次に、必要事項(アプリ名、連絡先メールアドレスなど)を入力して進みます。
3. そして、[Setting] > [Basic]に進み、画面下部の[Add Platform]をクリックして、プラットフォームのURL(前述の要件で指定したWebページ)を入力します。
4. ダッシュボードでInstagram Basic APIのセットアップを続行します。
アプリが作成されると、保存が必要な情報や入力が必要なフォーム欄が表示されます。
後で必要になるのはApp IDとApp Secretです。
5. 自分のニーズによって、Valid OAuth redirect URI、Deauthorization callback URL、Data deletion requestを記入します。
テストするものをフォームに追加します。例えば、AがBの情報を取得したい場合は、 Bのアカウントユーザー名を入力します。
ユーザーを追加すると、このユーザーからの許可が必要となるので、ステータスは「pending」になります。
6. テストするInstagramアカウントにログインし、[設定] > [ウェブサイトの許可] > [アプリとウェブサイト] > [テスター招待]の順に選択して、招待を許可します。
以上のステップを参照して、Instagram APIのセットアップが完了になります。
Instagram APIの認証と認可を請求
Instagram APIを使用するには、認可コードが必要です。この認可コードの有効期限は1時間です。コードを取得するには、次のURLを入力します。
https://api.instagram.com/oauth/authorize?client_id={app-id}&redirect_uri={redirect-uri}&scope=user_profile,user_media&response_type=code
ここで、{app-id}や{redirect-uri}を実際のIDとURIに入れ替える必要があります。
各属性の説明
App-id: アプリケーションIDは、Instagram Basic Display Appの[Basic Display]にあるapp-idです。
redirect_uri: Valid OAuth redirect URIと同じURLです。
URLを入力してEnterキーを押すと、認可を許可するページに移動します。
すべてのアクセスを許可すると、自身のURLにリダイレクトされ、URLにcodeパラメータが付加された形になります。
https://www.example.com/?code=ABCD......#_
認可コードはcode=の後の部分になりますが、 #_は認可コードの一部ではないので削除してください。
Apidogで簡単にInstagram APIを利用する
Apidogは、APIを簡単に設計、テスト、ドキュメント化できるオールインワンのAPI開発プラットフォームです。Instagram APIを利用したり、テストしたりする場合、Apidogを利用するのが非常に便利です。
認可コードをアクセストークンに変換
ApidogでメソッドをPOSTに切り替え、次のURLを入力します。
https://api.instagram.com/oauth/access_token
そして、次のパラメータを追加します。
- client_id = Instagram アプリID
- client_secret = Instagram アプリシークレット
- code = 取得した認可コード
- grant_type = authorization_code (この値は固定)
- redirect_uri = 自身のURI
[Send]をクリックすると、アクセストークンがJSONファイルの形式で返されます。
{
"access_token": "IGQWR9......",
"user_id": 7666070400110123
}
注: このトークンの有効期限も1時間です
アクセストークンとユーザーIDを使ってアカウント情報を取得
Instagram Basic Display APIでは様々な情報を取得できますが、ここでは2つの例を示します。
- アカウントの基本情報にアクセスする
curlでのサンプルリクエスト:
curl -X GET \
'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'
パラメータの説明:
- user_id: 前のステップで取得したものを使用
- access_token: 前のステップで取得したものを使用
- fields: 一部オプション。利用可能なフィールドは4種類:
1. account_type: アカウントの種類
2. id: user_id
3. media_count: 投稿数
4. username: アカウント名
これらすべてを取得したい場合は、カンマ(,)で区切って全て入力します。
ここでレスポンスが取得されます。
2. ユーザーの投稿情報を取得する
サンプルリクエスト:
curl -X GET \
'https://graph.instagram.com/me/media?fields=id,caption&access_token=IGQVJ...'
Apidogでの設定:
このリクエストを送信すると、ユーザーの投稿情報が含まれるレスポンスが返されます。
Instagram Display APIに関するより多くの用途については、次のチュートリアルを参照してください。このチュートリアルを参照しながら、直感的なAPI管理ツールのApidogを併用して、より効率的にAPIをテストしたり、管理したりすることが可能です。
まとめ
Instagram APIは開発者がInstagramプラットフォームと連携し、革新的なアプリケーションを作成する可能性を切り開きます。ユーザー情報やメディアコンテンツへのアクセスから、新しい写真やビデオの投稿まで、多様なエンドポイントにより、開発者はアプリケーションを特定のニーズに合わせてカスタマイズできます。
Instagram APIを利用して、自分のプロジェクトをInstagramに連携したい場合、ApidogというAPI管理ツールを利用して、Instagram APIを利用したり、テストしたり、Insta APIの情報を保存して効率よく管理したりすることができるので、開発の効率性をかなり向上することができるので、ぜひご活用ください。