本ページにはプロモーションが含まれています

Facebook Developer入門|初めてFacebook API連携を任されたら何から始める?

Facebook

この記事を読むとわかること

  • Facebook DeveloperとGraph APIの基本
  • API連携を始めるときの確認ポイント!
  • 小さく試して検証する実務的な進め方

「Facebookと、このシステムを連携できますか?」

仕事で突然そう聞かれ、Facebook Developerについて調べ始めたものの、Graph API、App、Access Token、Permissions……と知らない言葉が次々に出てきて、どこから手をつければいいのか迷っている人もいるのではないでしょうか。

私も外部APIを初めて扱ったとき、コードを書くこと以上に、たくさんあるAPI仕様を把握することに苦労しました。

だから今は、最初から全部を理解しようとはしません。

まず全体像をつかみ、小さく試して、動いたことを確認してから次へ進む。

この記事では、初めてFacebook API連携を任されたWebエンジニアに向けて、Facebook Developerの基本からGraph API、Access Token、Permissions、実際にAPI連携を始めるまでの考え方を順番に整理します。

  1. Facebook Developerとは?まず全体像をつかもう
    1. Facebook Developerとは
    2. Facebook APIとGraph APIの関係
    3. Facebook Developerでは何ができる?
  2. Facebook API連携で最初に覚えたい4つの要素
    1. 1.App ― Meta側でAPI連携を管理する起点
    2. 2.Graph API ― Facebook側とやり取りする窓口
    3. 3.Access Token ― 誰・何としてアクセスするのか
    4. 4.Permissions ― その操作を許可されているのか
  3. 初めてFacebook API連携を任されたら何から始める?
    1. STEP1.まず「何をFacebookと連携したいのか」を決める
    2. STEP2.必要なAPIとPermissionsを公式ドキュメントで確認する
    3. STEP3.Meta側でAppを準備する
    4. STEP4.Access Tokenを用意する
    5. STEP5.まず一つだけGraph APIへアクセスしてみる
    6. STEP6.要件によってWebhookも検討する
  4. Facebook APIでつまずいたときの確認ポイント
    1. 古いFacebook Developerの記事をそのまま使わない
    2. Access TokenとPermissionsを別々に確認する
    3. 「開発環境で動いた」と「本番で使える」を分ける
    4. APIバージョンと制限を確認する
    5. 迷ったら「認証・権限・データ・制限」に分ける
  5. Facebook Developer・Facebook APIのよくある質問
    1. Q.Facebook Developerでは何ができますか?
    2. Q.Facebook APIとGraph APIは違うものですか?
    3. Q.Facebook APIを使うにはAccess Tokenが必要ですか?
    4. Q.Access Tokenをソースコードに書いても大丈夫ですか?
    5. Q.Facebook APIではどんなPermissionsが必要ですか?
    6. Q.Facebook APIを本番で使うにはApp Reviewが必要ですか?
    7. Q.Graph API Explorerとは何ですか?
    8. Q.Facebook Developerの古い記事を参考にしても大丈夫ですか?
  6. まとめ:Facebook API連携は、小さく試すところから始めよう
  7. 情報ソース・引用元

Facebook Developerとは?まず全体像をつかもう

Facebook APIを初めて調べると、さまざまな機能や用語が出てきます。

そこで最初は細かな設定方法よりも、「Facebook Developerを使うと何ができて、どんな仕組みでWebアプリとつながるのか」を整理しておきましょう。

Facebook Developerとは

「Facebook Developer」というキーワードで検索すると、Metaが提供している開発者向けの情報や管理画面、Graph APIなどにたどり着きます。

最初の段階では、

「FacebookなどMetaのサービスと、自分たちのWebアプリケーションを連携するための開発者向けの仕組み」

と考えると分かりやすいでしょう。

実際の開発では、Meta側にAppを用意し、必要なAccess TokenやPermissionsを確認しながらGraph APIを利用していきます。

昔の記事では「Facebook Developers」という名称や、現在とは異なる管理画面が掲載されていることもあります。

Facebook/Meta関連の開発情報は変わる可能性があるため、検索で見つけた記事だけではなく、実装時点のMeta公式ドキュメントも確認するようにしてください。

Facebook APIとGraph APIの関係

Facebook APIについて調べていると、特によく目にするのがGraph APIです。

Meta公式では、Graph APIはFacebookのソーシャルグラフに対してデータを取得・送信するための主要な手段として案内されています。

HTTPベースのAPIなので、Webアプリケーションからリクエストを送り、JSON形式のレスポンスを受け取るという基本的な考え方は、一般的なWeb APIと大きく変わりません。

公式情報:Meta for Developers – Graph API

ただし、URLを知っていれば自由にFacebookの情報を取得できるわけではありません。

どのデータへアクセスできるか、どんな操作ができるかは、利用するAPIやAccess Token、Permissions、Appの状態などによって変わります。

Facebook Developerでは何ができる?

Facebook DeveloperやGraph APIを利用すると、要件や権限に応じて、Facebook関連機能とWebアプリケーションを連携できます。

代表的な例としては、次のようなものがあります。

  • Graph APIを使って許可されたFacebook関連データへアクセスする
  • Facebook Pageに関連する情報や機能を扱う
  • Facebook LoginなどMetaの機能をWebアプリへ組み込む
  • Webhookを利用してFacebook側の変更通知を受け取る

Metaには、Graph APIのリクエストを試せるGraph API Explorerも用意されています。

公式情報:Meta for Developers – Graph API Get Started

Facebook APIを初めて扱うのであれば、いきなり大きな機能を作るより、Graph API Explorerなどで小さなリクエストを一つ試してみるほうが理解しやすいでしょう。

Facebook API連携で最初に覚えたい4つの要素

Facebook APIのドキュメントを開くと、多くの専門用語が目に入ります。

すべてを一度に覚える必要はありません。

初めて連携を担当するなら、まずApp、Graph API、Access Token、Permissionsの4つを押さえておくと、その後の情報を整理しやすくなります。

1.App ― Meta側でAPI連携を管理する起点

Facebook APIを利用するときは、Metaの開発者向け環境でAppを扱います。

ここで少し分かりにくいのが「アプリ」という言葉です。

私たちが開発しているWebアプリケーションそのものと、Meta側で管理するAppは分けて考えたほうが分かりやすいでしょう。

自分たちのWebアプリ
        ↓
Meta側のApp
        ↓
Graph APIなどのMeta機能

Meta側のAppは、APIや各種機能を利用するための設定を管理する起点になります。

2.Graph API ― Facebook側とやり取りする窓口

Graph APIは、Facebook関連のデータや機能とWebアプリケーションをつなぐ中心的なAPIです。

Webエンジニアであれば、

HTTPリクエストを送る
        ↓
Graph API
        ↓
JSONレスポンスを受け取る

というイメージから始めれば十分です。

最初からGraph API全体を理解しようとすると、対象となる機能やエンドポイントが多く、かえって迷いやすくなります。

これはFacebook APIに限りません。

私自身、外部APIを初めて扱ったときに大変だと感じたのは、コードを書くことよりも大量に存在するAPI仕様を把握することでした。

一つのドキュメントを読むと別のドキュメントへつながり、そこからさらに認証や権限の説明へ進む。

「結局、どこまで読めば実装を始められるのだろう」と感じることもありました。

だから今は、全部を理解してから動こうとはしません。

自分が必要としているAPIを一つに絞り、まず小さく試します。

3.Access Token ― 誰・何としてアクセスするのか

Facebook APIを利用するときに重要になるのがAccess Tokenです。

Meta公式では、Access Tokenはユーザー、App、Facebook Pageなどを識別し、Graph APIを呼び出すために利用される情報として説明されています。

公式情報:Meta for Developers – Access Tokens

初心者向けの説明では「APIを利用するための鍵」と表現されることがあります。

最初はそれでも構いませんが、実務ではもう一歩進んで、

「今使っているAccess Tokenは、誰・何を表しているのか」

を意識しておくと、エラーが発生したときに原因を切り分けやすくなります。

利用する機能によって、User Access TokenやPage Access Tokenなどが関係する場合があります。

「Access Tokenを取得できた」で終わらず、「今回のAPIに必要なTokenなのか」まで確認することが大切です。

4.Permissions ― その操作を許可されているのか

Access Tokenがあれば、何でも自由に実行できるわけではありません。

Facebook APIでは、利用する機能やデータに応じてPermissionsを確認する必要があります。

公式情報:Meta for Developers – Permissions Reference

たとえばAPIがエラーになったとき、プログラムやリクエストURLだけを見ていても原因が分からないことがあります。

「APIが動かない」のではなく、「その操作をする権限がない」可能性もあります。

ここまでの関係を単純化すると、次のようになります。

Webアプリ
   │
   ▼
Meta側のApp
   │
   ├── Access Token
   │
   └── Permissions
   │
   ▼
Graph API
   │
   ▼
許可されたデータ・機能

もちろん実際の仕組みは、これだけですべて説明できるほど単純ではありません。

それでも最初の地図としては、この4つから始めれば十分です。

初めてFacebook API連携を任されたら何から始める?

ここからが、今回の記事でいちばん伝えたいところです。

Facebook APIの用語を覚えるだけでは、仕事は進みません。

実際に連携を任されたときに、何を確認して、どの順番で試していくかを整理します。

STEP1.まず「何をFacebookと連携したいのか」を決める

私は、外部API連携を任されたときに、いきなり管理画面を開いたりコードを書いたりしないようにしています。

最初にやるのは、要件をできるだけ具体的な一文にすることです。

たとえば、

  • 自社が管理しているFacebook Pageの情報を取得したい
  • Facebook関連データを業務システムへ取り込みたい
  • Facebook側で発生した変更をWebhookで受け取りたい
  • Facebook Loginを自社サービスへ導入したい

といった形です。

「Facebookと連携したい」だけでは、必要なAPIを判断できません。

取得したいのか。

送信したいのか。

変更を通知してほしいのか。

誰が利用するのか。

ここを整理することで、調べる範囲を絞ることができます。

STEP2.必要なAPIとPermissionsを公式ドキュメントで確認する

目的が決まったら、その機能を実現するためのAPIを探します。

ここで私は、エンドポイントだけをメモしないようにしています。

少なくとも、次の項目を一緒に整理します。

やりたいこと:
利用するAPI:
必要なAccess Token:
必要なPermissions:
本番利用時の条件:
APIの制限:

Facebook APIでは、利用する機能によってPermissionsやApp Reviewなどの条件が関係する場合があります。

そのため、

「APIが存在する」ことと、「自分たちの条件で利用できる」ことは別

として考えたほうが安全です。

仕事で「Facebook連携できますか?」と聞かれたとしても、私はAPIが見つかっただけで「できます」と判断しないようにしています。

実際の利用条件まで確認して、初めて実現可能性が見えてくるからです。

STEP3.Meta側でAppを準備する

利用する機能が見えてきたら、Metaの開発者向け環境でAppを準備します。

App作成画面や設定項目は変更される可能性があるため、数年前の記事をそのまま操作手順として使うのは注意が必要です。

私はこうしたサービスを扱うとき、

「操作のきっかけは解説記事、最終判断は公式ドキュメント」

くらいの距離感で情報を見るようにしています。

STEP4.Access Tokenを用意する

利用するAPIに必要なAccess Tokenを準備します。

このとき、Tokenを取得できたかどうかだけではなく、

  • 何を表すAccess Tokenなのか
  • 今回のAPIに利用できるTokenなのか
  • 必要なPermissionsが含まれているのか

を確認します。

また、Access Tokenは認証に関わる重要な情報です。

公開リポジトリへコミットしたり、第三者から見える場所へ掲載したりしないよう、安全な管理方法を検討してください。

Meta公式でも、安全なGraph APIリクエストやAccess Tokenの保護について案内されています。

公式情報:Meta for Developers – Secure Requests

STEP5.まず一つだけGraph APIへアクセスしてみる

ここまで準備できたら、いきなりシステム全体へ組み込むのではなく、まず小さなAPI呼び出しを試します。

MetaにはGraph API Explorerが用意されており、Access Tokenを使ってリクエストを試し、レスポンスを確認できます。

最初の目標は大きくありません。

  1. リクエストを送る
  2. 認証が通る
  3. レスポンスが返ってくる
  4. 期待したデータを確認する

まず、ここまでです。

私自身、外部APIを初めて扱ったとき、最初にアクセスが成功した瞬間はとても印象に残っています。

それまでドキュメントの中にしか存在しなかったAPIが、自分の処理とつながり、実際にレスポンスを返してくる。

そこで初めて、APIの仕組みが少し実感を伴って理解できました。

一度つながれば、次は取得するデータを増やす。

その次に権限を確認する。

そして自分たちのWebアプリへ組み込む。

一つずつ進められます。

小さく試して、検証する。

私は、初めて触るAPIほど、この進め方を大切にしています。

STEP6.要件によってWebhookも検討する

Facebook側の変更を受け取りたい場合は、Webhookが選択肢になります。

Meta公式では、Webhookを使ってMetaのソーシャルグラフ上にあるオブジェクトの変更についてHTTP通知を受け取る仕組みが提供されています。

公式情報:Meta for Developers – Webhooks

APIとWebhookの違いは、最初は次のように考えると分かりやすいでしょう。

こちらから情報を取りに行く
        ↓
Graph API

変更が起きたことを知らせてもらう
        ↓
Webhook

すべてのシステムでWebhookが必要なわけではありません。

定期取得で十分なのか、変更をすぐに受け取る必要があるのかを要件から判断します。

Facebook APIでつまずいたときの確認ポイント

Facebook APIでは、プログラムそのものだけでなく、認証、権限、APIバージョン、利用条件などが原因で処理が動かないことがあります。

問題が起きたときほど、一度に全部を疑うのではなく、確認する場所を分けることが大切です。

古いFacebook Developerの記事をそのまま使わない

Facebook APIについて検索すると、数年前の解説記事も多く見つかります。

その記事が書かれた当時は正しかったとしても、現在も同じ仕様とは限りません。

MetaはGraph APIをバージョン管理しており、変更内容をChangelogで公開しています。

公式情報:Meta for Developers – Graph API Changelog

古い記事を参考にするときは、少なくとも次の点を確認します。

  • 記事の公開日・更新日
  • 対象となっているGraph APIバージョン
  • 現在の公式ドキュメントと違いがないか

古い記事が悪いのではなく、現在も同じ仕様だと思い込むことが危険です。

Access TokenとPermissionsを別々に確認する

APIが動かないときに、Access Tokenが設定されているから認証周りは問題ない、と決めつけないようにします。

確認したいのは、

  • Access Tokenは有効か
  • 今回必要な種類のTokenか
  • 必要なPermissionsがあるか
  • 現在のAppでその権限を利用できるか

です。

URLやパラメータを何度変更しても、権限が足りなければ期待した結果にはなりません。

「開発環境で動いた」と「本番で使える」を分ける

Graph API Explorerや開発者自身のアカウントで動いたとしても、本番利用の条件まで満たしているとは限りません。

一般ユーザー向けに提供する場合には、利用するPermissionsや機能によってApp Reviewなどの確認が必要になることがあります。

「自分の環境で動く」と「サービスとして提供できる」は、別の確認です。

ここを早い段階で分けて考えておくと、実装後半での大きな手戻りを減らしやすくなります。

APIバージョンと制限を確認する

Graph APIにはバージョンがあり、仕様は将来も変わる可能性があります。

既存システムを担当するときは、現在どのAPIバージョンを利用しているかも確認してください。

公式情報:Meta for Developers – Graph API Versions

また、Graph APIにはRate Limitなどの制限もあります。

開発時に数回呼び出しただけでは問題が見えなくても、本番では利用量が増えます。

公式情報:Meta for Developers – Graph API Rate Limits

APIを調べるときは、

「何ができるか」だけではなく、「どんな条件や制限があるか」もセットで確認する。

ここまでが実装だと私は考えています。

迷ったら「認証・権限・データ・制限」に分ける

私は外部APIで問題が起きたとき、原因を一つの塊として考えないようにしています。

まず、次の4つに分けます。

  • 認証:誰・何としてAPIへアクセスしているのか
  • 権限:そのデータや操作を利用する権限があるのか
  • データ:何を送り、何が返ってきているのか
  • 制限:APIの仕様や利用条件に引っかかっていないか

若いころは、エラーが出るとコードばかり追いかけてしまうこともありました。

けれど、外部システムとの連携では、自分が書いたコード以外にも原因があります。

だから今は、問題が起きたら一つずつ切り分けます。

一つずつ確認すれば、少なくとも「どこが分からないのか」は見えてきます。

それだけでも、次に調べる場所はかなり絞れます。

Facebook Developer・Facebook APIのよくある質問

ここまでの内容を踏まえて、Facebook DeveloperやFacebook APIを初めて扱うときに疑問になりやすいポイントをまとめます。

Q.Facebook Developerでは何ができますか?

Metaの開発者向け環境やGraph APIなどを利用して、Facebook関連機能とWebアプリケーションを連携できます。

Graph APIによるデータアクセス、Facebook Page関連の処理、Webhookによる変更通知などが代表例です。

ただし、利用できるデータや操作はAPI、Access Token、Permissions、Appの状態などによって異なります。

Q.Facebook APIとGraph APIは違うものですか?

「Facebook API」はFacebook関連APIを広く指す表現として使われることがあります。

その中で、Facebookのソーシャルグラフ上にあるデータを扱う中心的な仕組みがGraph APIです。

Q.Facebook APIを使うにはAccess Tokenが必要ですか?

多くのGraph API呼び出しではAccess Tokenが必要です。

ただし、Tokenを取得するだけではなく、目的に合ったTokenなのか、必要なPermissionsを持っているのかも確認する必要があります。

Q.Access Tokenをソースコードに書いても大丈夫ですか?

公開されるソースコードへ直接埋め込むような管理は避けるべきです。

GitHubなどへ誤って公開しないよう、環境変数やSecrets管理など、利用する環境に応じた安全な方法を検討してください。

Q.Facebook APIではどんなPermissionsが必要ですか?

必要なPermissionsは、利用するAPIや取得・操作したいデータによって変わります。

「Facebook APIだからこの権限」という一種類のPermissionsがあるわけではありません。

利用するエンドポイントとMeta公式のPermissions Referenceを確認してください。

Q.Facebook APIを本番で使うにはApp Reviewが必要ですか?

利用する機能やPermissionsによって異なります。

開発中にAPIを試せたとしても、一般ユーザーを対象に本番利用するときには追加条件が必要になる場合があります。

利用予定の機能とPermissionsについて、最新の公式要件を確認してください。

Q.Graph API Explorerとは何ですか?

Graph API Explorerは、Metaが提供しているGraph APIのテストツールです。

Access Tokenを利用してAPIリクエストを試し、実際のレスポンスを確認できます。

Facebook API初心者なら、プログラムへ組み込む前に小さなリクエストを試すための入口として利用できます。

Q.Facebook Developerの古い記事を参考にしても大丈夫ですか?

考え方や基本概念を理解する参考にはできます。

ただし、画面操作、API仕様、Permissions、利用条件などは変わっている可能性があります。

記事の日付や対象APIバージョンを確認し、最後はMeta公式ドキュメントと照らし合わせてください。

まとめ:Facebook API連携は、小さく試すところから始めよう

初めてFacebook API連携を任されると、Graph API、Access Token、Permissions、App、Webhookなど、知らない言葉が一度に出てきます。

私も外部APIを初めて扱ったとき、大量にある仕様を前にして、どこまで理解すれば実装を始められるのか迷いました。

だから、最初から全部を理解しようとしなくて大丈夫です。

まずは次の4つから整理してみてください。

  • App:Meta側でAPI連携を管理する起点
  • Graph API:Facebook関連のデータや機能とやり取りするAPI
  • Access Token:誰・何としてアクセスするのかに関わる認証情報
  • Permissions:どのデータや操作を利用できるのかに関わる権限

そして実際の仕事では、

何を実現したいのか決める
        ↓
必要なAPIを探す
        ↓
Access TokenとPermissionsを確認する
        ↓
小さなAPIリクエストを試す
        ↓
レスポンスを検証する
        ↓
少しずつ実装を広げる

という順番で進めます。

私が外部API連携で大切にしているのは、小さく試して検証することです。

最初のアクセスに成功すると、それまで大量のドキュメントの中にあったAPIが、少し具体的なものに変わって見えてきます。

そこから一つずつ広げていけばいい。

そして、この進め方はFacebook APIだけのものではありません。

明日、別の外部API連携を任されたとしても、

目的を整理する。認証と権限を見る。小さくアクセスする。返ってきた結果を検証する。

という考え方は、そのまま使えます。

新しいAPIだからといって、最初からすべてを知っている必要はありません。

小さく試して、確認して、また一つ積み上げる。

派手な方法ではありませんが、私はそれが、確実に動くシステムへ近づく方法だと思っています。

情報ソース・引用元

本記事は、Facebook APIを初めて扱うWebエンジニアが全体像とAPI連携の進め方を理解することを目的としています。
API仕様、管理画面、Permissions、Access Token、App Review、利用条件などは変更される可能性があります。
実装時には必ず最新のMeta公式情報をご確認ください。

この記事のまとめ

  • Facebook API連携は4つの基本要素から理解する
  • 目的を決めて、必要なAPIと権限を確認!
  • まずは小さなAPIリクエストから試して検証する
  • エラーは認証・権限・データ・制限で切り分ける
  • この進め方は、ほかの外部API連携にも応用できる!
モバイルバージョンを終了
タイトルとURLをコピーしました