Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

InstagramのAPIの使い方と制限。CData Instagram Excel-addinで使うところまで

最近ちまちまと投稿しているSNS周りのAPIを利用するにあたっての設定方法。

今回はInstagramです。

私も一応ご多分に漏れず、Instagramを使っていますが、主にFacebookTwitterへ一括投稿するためのハブのような使い方をしていて、あまり有効活用できていない気がします。

f:id:sugimomoto:20180101124018p:plain

まあ、それはそれとして、Instagramの隆盛はとどまるところを知らない感じです。

APIを使って、色々とビジネスに活用したいという話も尽きませんので、今回はそのAPIを使うための諸々を書き留めておきたいと思います。

Instagram APIを使う前の、そもそもの話

InstagramAPIって、初期状態だと実はTwitterほど自由にデータの取得ができるAPIじゃなかったりします。(Twitterも最大限活用するには、有料のAPIプランが必要ですが)

初期状態ではSandboxという制限状態に設定されていて、例えば、データの取得件数が20件までだったり、Sandboxの対象としたユーザー以外の情報は取得できなかったりと、実用性はかなり薄くなってしまいます。

なので、実際にビジネスライクにデータを取得して分析とかワークフローとかを組みたい場合は、利用申請というのが必要になるので、注意しましょう。

その申請がInstagram側で審査・承認されて、はじめてInstagramAPIをフルに活用できるようになります。

審査基準はよくわからないらしいですが、簡単だよー、ぜんぜん通らないよー、といろいろな声が聞かれます。

そのあたりは色々と参考になるBlogがたくさんあるので、以下の記事などを参考にしてみてください。

hamatte-wataru.com

socialmedia-marketing.argyle.jp

APIを使える状態にするまで。ClientIdとClientSecretの取得方法

それでは、ClientIdとClientSecretを取得してAPIを使える状態まで持っていきたいと思います。

設定は他のAPIと同様にアプリケーション登録をして、OAuth認証用のClientIdとClientSecretを取得する感じです。

まずは下記デベロッパーサイトのURLにアクセスして、対象のアカウントでログインします。

Instagram Developer Documentation

f:id:sugimomoto:20180101124059p:plain

f:id:sugimomoto:20180101124118p:plain

続いて、APIを利用するためのアプリケーションを登録します。

左上の[Manage Clients]をクリックし

f:id:sugimomoto:20180101124124p:plain

[Register a New Client]をクリックします。

f:id:sugimomoto:20180101124133p:plain

新しくアプリケーションを登録する画面に移るので、Application Name等を適宜入力します。

APIを使うにあたって、注意したいのは[Valid redirect URIs]ですね。

私は後々ローカルのアプリケーションから利用するのでそれ用のポートを指定した[http://127.0.0.1:33333]を入力しました。

f:id:sugimomoto:20180101124148p:plain

これでアプリケーションの登録は完了です。

登録したアプリケーションの[MANAGE]をクリックすると

f:id:sugimomoto:20180101124154p:plain

Client IDとClient Secretが確認できます。

f:id:sugimomoto:20180101124200p:plain

ちなみにPermissionsをクリックすると利用できるScopeの一覧が表示されますが、Sandbox modeではどれも利用できません。

[Start submission]から利用申請を実施できますので、興味のある方はどうぞ。

f:id:sugimomoto:20180101124207p:plain

CData Instagram Excel-addonを使ってAPIを叩いてみた

というわけで実際に、取得したClientIdとClientSecretを使ってAPI経由でデータを取得してみたいと思います。

プログラムでもいいのですが、今回はお手軽にAPI経由でExcelにデータをロードできる、CData Excel Add-In for Instagramを使っています。

以下から試用版がダウンロードできるので、どうぞー。

www.cdata.com

インストール後、Excelを立ち上げて[CDATA]タブの[取得元Instagram]をクリックします。

f:id:sugimomoto:20180101124236p:plain

接続情報を入力するウィンドウが開くので[Callback URL][OAuth Client Id][OAuth Client Secret]をそれぞれ先程Instagram Developerの内容で入力します。

f:id:sugimomoto:20180101124242p:plain

[OK]をクリックすると、Instagramの認証画面が表示されるので、対象のアカウントでログインを実施し[Authorize]をクリックします。

f:id:sugimomoto:20180101124254p:plain

接続が成功すれば、データを取得するためのクエリを書く画面に移動します。

ちなみに以下のようなエラーが出た場合は、たぶんClient Secretが古い状態です。

f:id:sugimomoto:20180101124258p:plain

以下の画面で[RESET SECRET]を実行して、Client Secretを更新してみてください。

f:id:sugimomoto:20180101124307p:plain

今回は投稿した情報の一覧を見てみたいので[Media]テーブルを選択してみました。

f:id:sugimomoto:20180101124313p:plain

[OK]をクリック後、以下のように直近の投稿一覧が表示されます。

ちなみに、前述の通りSandboxモードでは直近の20件までのデータしか取得することができません。

f:id:sugimomoto:20180101124317p:plain

おわりに

やっぱり、データが直近20件しか取得できないのは厳しいですね。

一度APIでできることをSandboxモードで試した上で、申請をして色々と使える状態に持っていきたいところです。