こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はCData Instagram Driver の追加機能、ページアクセストークンによる認証方法のサポートを紹介したいと思います!
www.cdata.com
www.cdatablog.jp
ページアクセストークンとは?
使い方の前にまずページアクセストークンについて簡単に解説しておきたいと思います。
CData Instagram Driver は内部的にはFacebook Graph APIを使っているのですが、Facebook Graph APIではその認証方法としていくつかの種類のアクセストークンがサポートされています。
developers.facebook.com
CData Driver では今までユーザーアクセストークンを利用していたのですが、このユーザーアクセストークン、ちょっと癖がありました。
まず、ユーザーアクセストークンには短期トークンと長期トークンが存在し、それぞれ有効期限が大きく異なります。
短期トークンは通常、1時間または2時間の有効期限を持ちます。一方、長期トークンは通常、約60日の有効期限を持ちます。
developers.facebook.com
CData Instagram Driver 内部ではこの長期トークンを保持して、リクエストを継続するのですが、それでも最大60日間が有効期限という制約が存在しました。
developers.facebook.com
それに対して、今回の新機能でページアクセストークンがサポートされました。
developers.facebook.com
これは管理しているFacebookページ・およびそのFacebookページに関連付けられているInstagram ビジネスアカウントのAPI にアクセスすることができるちょっと特殊なトークンです。
ページに紐づいているため、ユーザートークンよりもアクセス範囲が限られますが、大きな特徴として「有効期限が存在しない」というメリットがあります。
例えば、CData Syncのような定期的にデータレプリケーションを実行するような利用方法だと、有効期限を気にせず扱えるので便利ですね。
www.cdata.com
ページトークン認証の使い方
それでは、実際にページアクセストークンを使って認証してみましょう。
ページアクセストークンの利用のためには予めBusiness AccountIdを指定する必要があります。
cdn.cdata.com
Business Account Idは「ビジネスマネージャー」から「ビジネス設定」に移動して「Instagramアカウント」を選択すると確認できます。
https://business.facebook.com/settings/
あとはCData Instagram Driver の接続設定で 「Business Account Id」 に設定し、 「Authenticate As Page」をTrueに指定、接続のテストを実施するだけでOKです。
今回はJDBC Driver を利用しましたが、お好みのツールから利用してみてください。
アクセストークンを確認してみる
念のため、利用しているアクセストークンをFiddlerを通じて確認してみましょう。
www.cdatablog.jp
例えばAcountInsightsテーブルをクエリしてみると、以下のようにリクエスト内容が確認でき、利用されているAccess Tokenも採取できます。
Access TokenはFacebookが提供しているアクセストークンデバッガーで詳細が確認できます。
https://developers.facebook.com/tools/debug/accesstoken/
以下のようにPageタイプのアクセストークンで有効期限が無い状態のものが利用されていることが確認できました。
注意点
ページアクセストークンは有効期限が存在せず、運用上は便利ですが、その特性上一つのページにしかアクセスすることができません。
なので、複数のページを運用・管理・分析されたい場合は、接続を分けて利用する必要があるので注意しましょう。
おわりに
このような形でCData Driverでは日々様々な接続アプローチを追加しています。
API側の仕様にもよりますが、このようなアプローチをサポートしてほしい、などのリクエストがあれば、どうぞお気軽にサポートフォームまでご相談ください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ