| この記事の要点 |
|
Facebook とは
Facebook は 2004 年に開始された、Meta Platforms 社(旧 Facebook 社)が運営する世界最大級のソーシャル・ネットワーキング・サービス (SNS) です。実名登録を基本とし、友人・知人とのつながり、ニュースフィード、グループ、ページ、Marketplace、動画などを提供します。
2021 年に社名が Meta に変更され、現在は Instagram / Messenger / WhatsApp / Threads 等を含む Meta ファミリーの中核プラットフォームです。
主なサービス
| 機能 | 概要 |
|---|---|
| プロフィール | 個人アカウント。友達申請ベース |
| Page | 企業・ブランド・著名人用の公開ページ |
| Group | 趣味・地域・目的別の集まり |
| News Feed | 友人やフォローページの投稿を時系列で表示 |
| Marketplace | 個人間売買 |
| Facebook ログイン | サードパーティサイトでの認証連携 |
| 広告 (Meta Ads) | Facebook / Instagram 横断の広告配信 |
開発者向け:3 つの主要 API
1. Graph API
Graph API は Facebook のデータを RESTful に取得・操作する API です。投稿、ページ情報、写真、コメントなどが対象です。
# 自分のプロフィールを取得
curl "https://graph.facebook.com/v19.0/me?access_token=YOUR_ACCESS_TOKEN"
# Page の投稿一覧
curl "https://graph.facebook.com/v19.0/{page-id}/posts?access_token=YOUR_TOKEN"
2. Marketing API
Facebook 広告をプログラムから作成・配信・計測するための API 群です。エージェンシーや広告管理ツールが活用します。
3. Webhooks
ページへのコメント、Messenger のメッセージなどのイベントをサーバーへプッシュ通知する仕組みです。bot 構築の基盤になります。
OGP (Open Graph Protocol)
自社サイトの URL を Facebook(や他の SNS)でシェアした時のカードプレビューを制御するメタタグです。サイト側で次のような <meta> タグを <head> 内に置きます。
<meta property="og:title" content="記事タイトル">
<meta property="og:description" content="ページの説明文">
<meta property="og:image" content="https://example.com/ogp.jpg">
<meta property="og:url" content="https://example.com/article/1">
<meta property="og:type" content="article">
<meta property="og:site_name" content="サイト名">
OGP の動作確認には Sharing Debugger(https://developers.facebook.com/tools/debug/)が便利です。キャッシュが残っている場合の強制再取得もここで行えます。
Facebook ログイン (OAuth 2.0)
自社サイトに Facebook ログインボタンを置く際の最小フロー:
- Meta for Developers で App を作成し、
App ID/App Secretを取得 - ログインボタンから
https://www.facebook.com/v19.0/dialog/oauth?...へリダイレクト - ユーザー承認後、
code付きで自社へ戻ってくる - サーバーで
codeを アクセストークンと交換 - トークンで Graph API を叩いてユーザー情報を取得
Meta Pixel
自社サイトに JavaScript タグを 1 つ貼ることで、ページビュー・コンバージョンを Meta 広告システムに送信できます。これを使ってリターゲティングや効果計測を実現します。
<!-- Meta Pixel コード(抜粋) -->
<script>
!function(f,b,e,v,n,t,s){...}(window, document, 'script', ...);
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
公式リソース
- 公式サイト: https://www.facebook.com/
- 開発者ポータル: Meta for Developers
- Graph API リファレンス:
https://developers.facebook.com/docs/graph-api - OGP 仕様: https://ogp.me/
Graph API のバージョン管理
Graph API は3 ヶ月毎に新バージョンがリリースされ、概ね2 年で旧バージョンが廃止されます。URL に v19.0 のようにバージョンを明示することで、突然動作が変わるリスクを抑えられます。アプリ運用では、リリースノートを定期的に確認し、廃止予定の API を早めに置き換えるのが大切です。
アクセストークンの種類
| 種類 | 主な用途 | 有効期限 |
|---|---|---|
| User Access Token | ログインしたユーザーの代理でデータ取得 | 短期 (約1〜2時間) / 長期 (約60日) |
| Page Access Token | Page を管理するアプリ向け | 長期化可能 |
| App Access Token | アプリ自体としての操作(公開情報のみ) | App Secret 有効中 |
| Client Access Token | iOS/Android クライアント向け | 長期 |
運用上の注意
- App Review: 公開アプリで Email / 友達リスト等の権限を使うには Meta の審査が必要
- Data Use Checkup: 一定期間ごとに「データを今もアクセスしている」と申告しないとアクセスがブロックされる
- レートリミット: 1 ユーザーあたり / 1 アプリあたりで上限がある。ヘッダ
X-App-Usage等で監視可能 - iOS の ATT (App Tracking Transparency) や iOS 14.5 以降の制約で、Pixel の効果計測精度が低下。Conversions API (CAPI) でサーバー側送信を併用するのが現在の主流
関連
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38