オブジェクトの使用

Facebookでは、オブジェクトやアクションからなる厳密に事前定義されたAPIを使用して、機能豊富で構造化された記事をアプリから投稿できます。オブジェクトは、「名詞」である場合と、利用者がアプリ内で行うアクションのターゲットである場合があります。

オブジェクトは、ウェブページのOpen Graph HTMLマークアップにより定義されます。

オブジェクトの作成

オブジェクトは、コンテンツがホストされているページにOpen Graphメタタグを追加することにより作成されます。

これらはページをオブジェクトに変えるために必要な基本タグです。これらをページのHTMLの<head>に追加します。

<meta property="fb:app_id"          content="1234567890" /> 
<meta property="og:type"            content="article" /> 
<meta property="og:url"             content="http://newsblog.org/news/136756249803614" /> 
<meta property="og:title"           content="Introducing our New Site" /> 
<meta property="og:image"           content="https://scontent-sea1-1.xx.fbcdn.net/hphotos-xap1/t39.2178-6/851565_496755187057665_544240989_n.jpg" /> 
<meta property="og:description"    content="http://samples.ogp.me/390580850990722" />

一部のホスティングおよび開発プラットフォームでは、オブジェクトページの作成とOpen Graphへのオブジェクトの公開を同時に行うと、オブジェクトが存在しないことを示すエラーが発生する場合があります。これは、一部のシステムに存在する競合状態が原因です。Open Graphにアクションを公開する前にオブジェクトページが作成されていることを確認するか、レプリケーションの時間差を考慮に入れてやや遅らせて設定することをおすすめします(15~30秒程度)。


テスト

シェアデバッガーを介してURLを渡すと、マークアップをテストできます。これにより、エラーや警告だけでなく、クローラーがスクレイピングしたタグが表示されます。

オブジェクトの更新

Facebookクローラーは、次の場合にオブジェクトを再スクレイピング(すなわち更新)します。

  • オブジェクトURLがシェアデバッガーに入力されたとき
  • 最初のスクレイピングから30日ごと
  • アプリがAPIエンドポイントを使用してスクレイピングをトリガーしたとき

このグラフAPIエンドポイントは、以下を呼び出します。

POST /?id={object-instance-id or object-url}&scrape=true

このエンドポイントからの応答は、スクレイピングされたオブジェクトについてのすべての情報を含んだJSONオブジェクトとなります(グラフAPIからオブジェクトIDが読み取られたときに返されるデータと同じ)。

idパラメーターは、オブジェクトの正規URLか、グラフ内のオブジェクトインスタンスIDのいずれかになります。


次の2つの例外を除き、オブジェクトのプロパティは常に編集可能です。

  • タイトル:オブジェクトに50個のアクション(「いいね!」、シェア、コメント)が関連付けられると、そのタイトルを更新できなくなります。
  • タイプ:記事で使用されるとオブジェクトのタイプは変更できません。詳しくは、Open Graphのタイプをご覧ください。

オブジェクトの画像をアップデートする場合、画像のURLは元の画像のURLとは別にすることを強くおすすめします。キャッシュにより、画像が更新されない場合があります。

ページの移行とURLの変更

ページを新しいURLに移動する場合、旧URLを新URLの正規ソースとして使用すると、オブジェクトの「いいね!」、コメント、シェアを残せます。方法については、ウェブ管理者向けシェア機能ガイドをご覧ください。