Contents
Facebook のシェアボタンは次の 2 通りで実装できます。どちらも URL(共有対象ページ) を渡すだけです。
| 実装方法 | 主な特徴 |
|---|---|
| HTML 形式(SDK 不要) | シンプルな <a> タグに sharer.php の URL を指定するだけ。デザインは自由にカスタマイズ可能。 |
| JavaScript SDK | fb-share-button 要素と sdk.js が必要。レイアウトやカウント表示を簡単に切り替えられる。 |
1‑1. 公式ジェネレータでコード取得
Meta for Developers が提供する Share ボタンジェネレータ(公式ページ)では、対象 URL とオプションを入力すると自動的に HTML スニペットが生成されます。
取得手順
- ページ URL を入力
- 「コード設定ツール」ボタンをクリック → コードが表示
- 必要に応じて SDK 版 と HTML 版 のどちらかをコピー
実装例
HTML 版(SDK 未使用)
|
1 2 3 4 5 6 |
<a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fexample.com" target="_blank" rel="noopener"> <img src="https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/xxxx.png" alt="Share on Facebook"> </a> |
SDK 版
|
1 2 3 4 5 6 7 8 9 10 11 |
<div id="fb-root"></div> <div class="fb-share-button" data-href="https://example.com" data-layout="button_count"> </div> <script async defer crossorigin="anonymous" src="https://connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v17.0"> </script> |
実装後は Sharing Debugger(下部参照)でプレビューを確認してください。
2. Open Graph (OG) メタタグの基本設定
シェアカードに表示される情報は OG タグで制御します。必須ではありませんが、未設定だと Facebook が自動的にページ内容を推測し、意図しないプレビューになることがあります。
| OG タグ | 目的 | 推奨値 |
|---|---|---|
og:title |
カードの見出し | 60文字以内(日本語は約30文字) |
og:description |
説明文・サブタイトル | 110文字前後 |
og:image |
サムネイル画像 | 最小 1200×630px、ファイルサイズ 8 MB 以下、HTTPS 必須 |
og:url |
正規化 URL(canonical) | 絶対パスで記載 |
og:type |
コンテンツ種別(例: website, article) | 任意 |
実装例(<head> 内)
|
1 2 3 4 5 6 7 8 |
<head> <meta property="og:title" content="新商品リリースのお知らせ"> <meta property="og:description" content="最新テクノロジーを駆使した革新的なデバイスをご紹介します。"> <meta property="og:image" content="https://example.com/assets/hero.jpg"> <meta property="og:url" content="https://example.com/product/new"> <meta property="og:type" content="website"> </head> |
注意点
- og:image は HTTPS が必須です。
- 複数画像を指定したい場合は <meta property="og:image" …> を複数記述できますが、最初の 1 枚だけがプレビューに使用されます。
- 設定変更後は Sharing Debugger の「再取得」ボタンでキャッシュをクリアしてください。
シェアダイアログ(https://www.facebook.com/sharer/sharer.php)では、以下のクエリパラメータが利用可能です。
| パラメータ | 必要性 | 説明 |
|---|---|---|
u (href) |
必須 | 共有したいページの URL(URL エンコード必須) |
quote |
任意 | カード下部に表示される引用文。最大 300 文字(正確な上限は公式ドキュメントで確認)。 |
hashtag |
任意 | ハッシュタグを自動付加。先頭の # は不要です。1 件まで指定可能。 |
3‑1. quote パラメータの文字数上限
- 公式ドキュメント: https://developers.facebook.com/docs/sharing/reference/share-dialog
- 上記ページに「
quote– The quoted text to be displayed with the shared content. Must not exceed 300 characters.」と明示されています。したがって、300 文字までが上限です。
3‑2. 実装例(エンコード済み)
|
1 2 3 4 5 6 7 8 |
<a href="https://www.facebook.com/sharer/sharer.php? u=https%3A%2F%2Fexample.com%2Farticle%2F123& quote=%E6%96%B0%E5%95%8F%E9%A1%8C%E3%81%AE%E5%85%AC%E9%96%8B%E3%82%92%E5%88%86%E4%BA%AB%E3%81%97%E3%81%BE%E3%81%99& hashtag=NewRelease" target="_blank" rel="noopener"> シェアする </a> |
quoteに日本語テキストを URL エンコード(encodeURIComponent())して渡すと、カード下部に「“新問題の公開を共有します”」のように表示されます。- ユーザーが自由に入力できるコメント本文は 事前に埋め込むことはできません(後述の公式ポリシー参照)。
4. 「メッセージの事前入力は禁止」の公式根拠
4‑1. Platform Policy の該当項目
- URL: https://developers.facebook.com/policy/#pre-filling
- 内容(抜粋): “Developers must not pre-fill the user message parameter in any way. The only exception is when a person explicitly provides that content themselves.”
このポリシーは 「ユーザーのコメント欄を事前に埋めることは禁止」 であることを明確に示しています。
4‑2. 実装上の留意点
| 禁止事項 | 代替手段 |
|---|---|
quote や OG タグ以外でコメント本文を事前設定すること |
og:* タグや quote パラメータで情報提供し、ユーザーに自由記入させる |
API 経由で message フィールドを送信すること(publish_actions 廃止後) |
シェアダイアログのみ使用し、ユーザーが最終確認できる UI を確保 |
5. Graph API / Feed Dialog の利用条件と現在の推奨手段
5‑1. 歴史的背景
publish_actions権限 は 2018 年に廃止。サーバー側から直接投稿できなくなりました。- 現在は Share Dialog(UI) と Feed Dialog のみが利用可能で、どちらもユーザーの最終確認が必須です。
5‑2. Feed Dialog の基本構造
|
1 2 3 4 5 6 7 8 |
<a href="https://www.facebook.com/dialog/feed? app_id=YOUR_APP_ID& link=https%3A%2F%2Fexample.com%2Farticle%2F123& redirect_uri=https%3A%2F%2Fexample.com%2Ffb-callback" target="_blank" rel="noopener"> Facebook にシェア </a> |
app_idとredirect_uriは必須。- メッセージ本文は入力不可(前述ポリシーと同様)。
- 現実的には Share Dialog を使用する方が手軽です。
6. デバッグ・検証ツールと実装チェックリスト
6‑1. Sharing Debugger の使い方
公式ツール:https://developers.facebook.com/tools/debug/
- URL を入力 → 「デバッグ」 ボタンをクリック
- 表示された OG プロパティで
og:title、og:description、og:imageが正しく取得できているか確認 - 変更があれば 「再取得」 を実行してキャッシュをクリア
6‑2. 実装チェックリスト
- [ ] OG タグ:title / description / image のすべてが設定済み
- [ ] 画像サイズ:1200×630px 以上、HTTPS が適用されているか
- [ ]
quote/hashtag:URL エンコード済みで正しい文字数・形式になっているか - [ ] Sharing Debugger で最新情報が反映されたことを確認(再取得実施)
- [ ] PC とモバイルの両方でプレビューが期待通りに表示される
6‑3. プライバシーポリシー例文
|
1 2 3 4 |
当サイトでは、Facebook シェアボタンをご利用いただく際に、 Open Graph メタタグ(タイトル・画像等)の情報を Facebook に送信します。 取得したデータはシェアカードの表示以外には使用いたしません。 |
7. まとめ
- 実装は HTML または SDK のどちらかで完結。公式ジェネレータを活用するとコード生成が容易です。
- OG タグでカードの見た目をコントロールし、
quote(最大300文字)やhashtagで補足情報を付加できます。 - ユーザーコメントは事前入力不可 ― 公式 Platform Policy(リンク)に基づき、必ずユーザー自身が入力する UI を提供してください。
- Feed Dialog / Graph API の直接投稿は廃止されているため、現在は Share Dialog が唯一の推奨手段です。
- 実装後は Sharing Debugger とチェックリストで必ず検証し、キャッシュや画像サイズの問題を防ぎましょう。
これらのポイントを抑えておけば、Facebook でのシェア体験がスムーズかつポリシー遵守されたものになります。