Built-in Likeの和訳です。6月21日にOpen Graphのビルトインアクションとして追加されたいいね!アクションを紹介しています。独自のOpen Graphアクションを定義する際には一般的で簡潔な動詞を指定するよう勧められていますが、そうして色々なアプリで定義された利用頻度の高いアクション を、Facebook Platformが順次ビルトインアクションとして取り込んでいる印象です。ビルトインアクションとして登録された場合、それまで独自で定義していたアク ションからビルトインアクションへの切り替えを強制されますが、Facebook上で最適に表示・拡散されるなどの利点があります。
以下、2012年7月3日 12:09更新分までの本文です。
今日、ウェブ上のFacebookユーザによって最も利用されているアクションである「いいね!」が、Open Graphのビルトインアクションで利用できるようになりました。開発者はカスタマイズしたいいね!ボタンを作ることで、Open Graphアクションとしてのいいね!がどのようにユーザ体験に結びつくのかをデザインすることができます。これはモバイルでもウェブでも機能する為、アプリ上のコンテンツ妥当性を向上させつつ、ディストリビューションの拡大を期待することができます。
Publishing Built-in Likes
以下の条件を満たす限り、アプリはユーザの代理としてビルトインのいいね!アクションを投稿することができます。
- アプリ上のコンテンツを閲覧しているのがFacebookユーザで、なおかつ、アプリを認証済みでpublish_actionsパーミッションを許可している
- アプリ上のコンテンツはOpen Graphオブジェクトページを保有していて、OGPメタタグを正しくマークアップしている
- アプリが実装し、なおかつコンテンツに紐づいているいいね!ボタンを、ユーザが意図的にクリックした
開発者は、クリックできるタイプのいいね!ボタンをデザインすべきです。ブランドガイドラインに従い、このいいね!ボタンはアプリのブランドを使うべきで、Facebookブランドを使ってはいけません。すでにカスタマイズしたいいね!ボタンを利用しているアプリは、ビルトインのいいね!投稿によるFacebook上でのディストリビューション増加を期待することができます。
ビルトインのいいね!アクションを投稿すると、他のOpen Graphアクション投稿が表示されるのと同じ場所(リアルタイムフィード、タイムライン、アクティビティログ)に同じように表示されます。
ビルトインのいいね!アクションは以下の手順で実装します。
- アプリ設定ページのOpen Graphセクションで、ドロップダウンで表示されるビルトインのLikeを選択します。
- ユーザがいいね!できるOpen Graphオブジェクトに紐づけるいいね!ボタンを作成します。
- 認証済みでpublish_actionsパーミッションを許可しているユーザがボタンをクリックしたら、ビルトインのいいね!アクションを投稿します。
ビルトインのいいね!アクションの実装は他のOpen Graphアクションと同じで、実装後に提出し、許可される必要があります。ユーザ未認証の場合であれば、これまで通りいいね!ボタンのプラグインを利用すべきです。
Open Graphオブジェクトに対してビルトインのいいね!アクションを投稿するには、ユーザアクセストークンとオブジェクトのURLをパラメータに指定して、以下のようにHTTP POSTリクエストを送信します。このとき、Open Graphオブジェクトの型(og:type)はどれでも大丈夫です。
curl -X POST \ -F 'access_token=USER_ACCESS_TOKEN' \ -F 'object=OG_OBJECT_URL' \ https://graph.facebook.com/[User FB ID]/og.likes
成功すると、以下のようにいいね!アクションのIDを返します。
{ “id”:”396528780387583” }
すでにいいね!したオブジェクトに対して再度いいね!アクションを投稿しようとすると、以下のエラーが返る点に気をつけてください。
{ "error": { "message": "(#3501) User is already associated to the object object on a unique action type Like. Original Action ID: 396497300390731", "type": "OAuthException", "code": 3501 } }
ただし、前回のいいね!が削除済みであれば再度いいね!することが可能です。投稿済みのいいね!アクションを削除するには、いいね!アクションのIDを指定して、以下のようにHTTP DELETEリクエストを送信します。
curl -X DELETE \ -F 'access_token=USER_ACCESS_TOKEN' \ https://graph.facebook.com/[Like Action Instance ID]
Notifications for Built-in Likes
ビルトインのいいね!アクションは、ユーザが作成したコンテンツをOpen Graphを通じて投稿するようなアプリで特に有効で、私たちはこれらのOpen Graphアクションを「creation action」と読んでいます。例えば、ユーザが「レシピ(recipe)」を「書く(write)」ことができ、しかもそれらのアクションがOpen Graph投稿されて共有されるような、ソーシャルクッキングアプリを想像してください。ユーザによって実行されるアクションであることから、ここではwriteが「creation action」にあたり、そのアクションを通じてrecipeオブジェクトが生成されます。
ソーシャルクッキングアプリ上で友だちがrecipeを見て、それに紐づくいいね!ボタンを押すと、Facebookの通知欄にそれが流れます。writeアクションを通じてrecipeオブジェクトを生成したユーザの通知欄には、友だちがrecipeをいいね!したことが流され、友だちのアプリ上でのアクティビティが把握できます。

ビルトインのいいね!アクションでの通知を有効にするには、オブジェクトの「creation action」を適切に設定します。
- アプリ設定画面のOpen Graphセクションで、ユーザが生成するコンテンツを表すOpen Graphオブジェクトを設定します。その後、Advancedをクリックします。
- Creation Actionフィールドに、このオブジェクトを生成するアクションを入力します。
- Save Changesをクリックします。
- アプリを利用しているFacebookユーザがコンテンツを生成したときは、アプリは今指定したOpen Graphアクションを通常通り投稿します。