PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

スポンサーリンク

■前説

最近、インスタグラム(Instagram)が流行っているため、ECサイトなどにおいて、インスタグラム(Instagram)と連携して、インスタグラム(Instagram)の画像をサイト内に表示するのはよく見られます。
今日はPHPでWEBサイトがインスタグラム(Instagram)と連携する方法を紹介したいと思います。

■インスタグラム(Instagram)との連携の流れ

インスタグラム(Instagram)と連携するために、インスタグラム(Instagram)側から提供するAPIを利用するだけで済むのが、access_tokenというものが必要となります。
このaccess_tokenを取得するために、client_idが必要となり、client_idを取得するのに、開発者のサインアップが必要となります。
なので、正常な流れは、
1.開発者をサインアップする
2.client_idをゲットする
3.client_idでaccess_tokenをゲットする
4.access_tokenでPHP側にてインスタグラム(Instagram)と連携する

■前提条件

・インスタグラム(Instagram)のアカウントがある
・WEBサイトがある(当然の話と思いますが。。。)

■手順

1.開発者をサインアップする

インスタグラム(Instagram)のアカウントでログイン状態で下記のURL(Developer Signup画面)を開いて、必要な項目を記入する。
https://www.instagram.com/developer/register/

下記の内容を記入して、「Sign Up」ボタンを押下する。

項目名 項目説明
ウェブサイト インスタグラム(Instagram)と連携するWEBサイトのURL(後ろに「/」なし) https://xiyuan.jp
Phone number 任意の内容(筆者の場合、WEBサイトを運営するお客様の電話番号を記入した) 080-1234-5678
What do you want to build with the API? 任意の内容 for business
I accept the API チェックオンにする

 

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

2.client_idをゲットする

次に出て来た画面にて、「Register」リンクをクリックして、「Manage Clients」画面(https://www.instagram.com/developer/clients/manage/)を開く。
※「Register Your Application」ボタンを押下しても同じ画面に遷移します。

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

続いて、「Register a New Client」をクリックし、次に出て来た画面にて必要な項目を記入する。

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

下記の内容を記入してから、「Register」ボタンを押下します。

項目名 項目説明
Application Name 任意の内容、だだし、英語記載の通りですが、名称に「Instagram」、「IG」、「insta」、「gram」単語を入れないように注意ください xiyuan
Description 任意の内容 Instagramの連携
Company Name 任意の内容 運営株式会社
Website URL 運営するウェブサイトのURL https://xiyuan.jp
Valid redirect URIs access_tokenをゲットするためのウェブサイトのURL、入力した後に、必ずエンターキーを叩いて、改行する https://xiyuan.jp

 

Privacy Policy URL 任意のウェブサイトのURL https://xiyuan.jp
Contact email 連絡メールアドレス sample@dummy.co.jp

 

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

成功の場合、次の画面にて、「Client ID」が表示されて、それをゲットする。

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

3.client_idでaccess_tokenをゲットする

access_tokenをゲットする前に、暗黙OAuth認証を外します。
上記の画面にて、「Manage」ボタンを押下します。

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

Manage Client画面に遷移し、そこで、「Security」タブの「Disable implicit OAuth」をチェックオフします。
最後、「Update Client」ボタンを押下します。

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

暗黙OAuth認証を外したら、下記URLを叩きます。

例:

実際のURLを叩いたら、インスタグラム(Instagram)側に、下記のように、承認画面が表示され、承認ボタンを押下します。

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法
PHPでWEBサイトがインスタグラム(Instagram)と連携する方法

承認ボタンを押下したら、No.2のWebsiteが表示され、URLの後ろに、「#access_token=7526157922.a1d4c4a.d2efed7bd8b04809ab387268b4122745」のようなaccess_token値が付いています。それをゲットし、PHP側に実装時に使います。

4.access_tokenでPHP側にてインスタグラム(Instagram)と連携する

No.3で取得したaccess_tokenを持って、PHP側にて、インスタグラム(Instagram)と連携します。
ここで、curlを使います。urlのcountパラメータは、インスタグラム(Instagram)から取得する最新件数です。例としは、最新5件の投稿情報をインスタグラム(Instagram)から取得します。
データはjson形式なので、json_decode関数も必要です。データの中身は変わらないので(Instagramの開発ドキュメントを読むことは面倒だし、英語でそもそも読めないし)、var_dump関数で、データの格納方法と変数名を一回確認した上で、必要な情報を取得しますしょう。

まとめ

PHPでWEBサイトがインスタグラム(Instagram)と連携する方法をここまで紹介しました。これ以上より良い方法が絶対にありますと信じて、皆さんが分かれば、是非筆者に連絡してお願い致します。
それでは、以上、また!

スポンサーリンク