Facebook開発者向けドキュメントの日本語訳とTips

http://developers.facebook.com/docs/ に記載されているdocumentationの和訳と、調べていて分かったノウハウを紹介します。
Life is tough, so are we.
ドキュメント全体の目次はこちら
Facebook関連情報はFacebookページで共有しています。

Event(Graph API)

Grpah APIのEventオブジェクトの和訳です。このAPIを使う事で、イベントやイベント参加者の管理をしたり、イベントに対して画像や動画を投稿することができます。


以下、2012年8月1日 18:57の変更分までの和訳です。


位置情報、イベント名、招待者のうち誰が参加するのかなどの情報を扱います。eventsコネクションでこのオブジェクトと繋がっているのは、User, Page, Applicationです。イベントオブジェクトを取得するには、以下のいずれかが必要となります。

  • 一般公開されたイベントへのアクセスには、一般的なアクセストークン
  • 任意のユーザが閲覧できる非公開イベントへのアクセスには、ユーザのアクセストークン
  • アプリが作成した非公開イベントには、そのイベントを作成したアプリのアクセストークン
  • ページが作成した非公開イベントには、そのイベントを作成したページのアクセストークン

Userオブジェクトの /events コネクションを取得するには、以下のパーミッションが必要です。

  • ユーザのイベントを取得するには user_events パーミッション
  • ユーザの友達のイベントを取得するには friends_events パーミッション

Example

https://graph.facebook.com/331218348435 (Facebook Developer Garage Austin)

Creating Events

  • ユーザの代理としてイベント作成するには、こちらをご覧下さい。
  • ページの代理としてイベント作成するには、こちらをご覧下さい。

Events Timezone Migration Note

Events Timezone移行が完了すると、eventの時刻は常にISO-8601形式の文字列になりますので、data_formatパラメータでの形式指定は効かなくなります。イベントのタイプに従って以下の形式で日時は返されます。

  • 日付のみ(e.g., '2012-07-04'): 日付飲み指定されていて、時刻が未定のもの
  • 厳密な時刻 (e.g., '2012-07-04T19:00:00-0700'): UTCからのオフセット値付きで、厳密な開始時刻時刻が指定されているもの。この指定方法が今後のFacebookイベントの日付管理に用いられ、ユーザ は異なるタイムゾーンでも最適に閲覧できるようになります。
  • ローカル時刻 (deprecated, e.g., '2012-07-04T19:00:00'): タイムゾーン情報を持たない旧イベント。この形式は廃止対象ですが、既存のイベントへの互換性を保つため、この形式でも返され続けます。

Fields

NameDescriptionPermissionsReturns
id

イベントID

アクセストークン, user_events, friends_eventsパーミッションのいずれか

文字列

owner

イベントを作成したプロフィールのID

アクセストークン, user_events, friends_eventsパーミッションのいずれか

idとnameフィールドを含むJSONオブジェクト

name

イベント名

アクセストークン, user_events, friends_eventsパーミッションのいずれか

文字列
description

イベントの説明文

アクセストークン, user_events, friends_eventsパーミッションのいずれか

文字列
start_time

イベントの開始時刻

アクセストークン, user_events, friends_eventsパーミッションのいずれか

ISO-8601形式の日時

end_time

イベントの終了時刻(指定されている場合のみ)

アクセストークン, user_events, friends_eventsパーミッションのいずれか

ISO-8601形式の日時

location

開催地の位置情報

アクセストークン, user_events, friends_eventsパーミッションのいずれか

文字列
venue

開催地

アクセストークン, user_events, friends_eventsパーミッションのいずれか

id, street, city, state, zip, country, latitudelongitudeのうち一つ以上を含むJSONオブジェクト

privacy

プライバシー設定

アクセストークン, user_events, friends_eventsパーミッションのいずれか

'OPEN', 'CLOSED', もしくは 'SECRET'の文字列

updated_time

最終更新日時

アクセストークン, user_events, friends_eventsパーミッションのいずれか

ISO-8601形式の日時

picture

イベントのアイコン画像URL。fieldsパラメータで指定した時にのみ返されます。

アクセストークン, user_events, friends_eventsパーミッションのいずれか

文字列


Connections

NameDescriptionPermissionsReturns
feed

イベントのウォール

アクセストークン, user_events, friends_eventsパーミッションのいずれか

Postオブジェクトの配列

noreply

イベント招待に答えていないユーザ

アクセストークン, user_events, friends_eventsパーミッションのいずれか

id, name, rsvp_statusフィールドを含むJSONオブジェクトの配列

invited

招待ユーザ

アクセストークン, user_events, friends_eventsパーミッションのいずれか

id, name, rsvp_statusフィールドを含むJSONオブジェクトの配列

attending

参加ユーザ

アクセストークン, user_events, friends_eventsパーミッションのいずれか

id, name, rsvp_statusフィールドを含むJSONオブジェクトの配列

maybe

もしかしたら参加できるユーザ

アクセストークン, user_events, friends_eventsパーミッションのいずれか

id, name, rsvp_statusフィールドを含むJSONオブジェクトの配列

declined

不参加ユーザ

アクセストークン, user_events, friends_eventsパーミッションのいずれか

id, name, rsvp_statusフィールドを含むJSONオブジェクトの配列

picture

プロフィール画像

アクセストークン, user_events, friends_eventsパーミッションのいずれか

文字列

videos

イベントに紐づく動画

ユーザのアクセストークン

Videoオブジェクトの配列


feed

イベントのウォールに相当するコネクション。/EVENT_ID/feedコネクションへHTTP POSTリクエストを送信する事でlink,post,status messageを作成できます。

Create

publish_streamパーミッションがあれば、/EVENT_ID/feedへのHTTP POSTリクエストでリンク共有が出来ます。

Parameter Description Type Required
link 共有するURL string 必須
message メッセージ
string オプション
上記パラメータで指定する以外のフィールドは該当URLページのメタタグから抽出されます。
成功した場合の返り値は以下の通りです。
Name Description Type
id リンクID 文字列

posts

Create

publish_streamパーミッションがあれば、/EVENT_ID/feedへHTTP POSTリクエストを送信する事でイベントのウォールにpost投稿をすることができます。

Parameter Description Type Required
message メッセージ 文字列 messageもしくはlinkが必須
link URL
文字列
messageもしくはlinkが必須
picture サムネイル画像のURL(linkが指定されている場合のみ有効)
文字列 オプション
name 名前(linkが指定されている場合のみ有効) 文字列 オプション
caption キャプション(linkが指定されている場合のみ有効) 文字列 オプション
description 説明文(linkが指定されている場合のみ有効) 文字列 オプション
actions アクション nameとlinkを含むオブジェクトの配列 オプション

成功した場合の返り値は以下の通りです。

Name Description Type
id 投稿ID
文字列

statuses

create

publish_streamパーミッションがあれば、HTTP POSTリクエストを送信する事でステータス投稿ができます。

Parameter Description Type Required
message メッセージ内容 文字列
必須

成功した場合の返り値は以下の通りです。

Name Description Type
id 投稿ID 文字列

invited

Create

/EVENT_ID/invited/USER_IDで個々のユーザを、 /EVENT_ID/invited?users=USER_ID1,USER_ID2,UESR_ID3で複数のユーザをイベントに招待する事ができま す。いずれの場合もcreate_eventパーミッションが必須で、成功すればtrueが返されます。

Read

/EVENT_ID/invitedへHTTP GETリクエストを送信すると招待されたユーザを取得できます。任意のユーザが招待されたか否かを知りたい場合は、/EVENT_ID/invited/USER_IDへHTTP GETリクエストを送ります。

一 般公開されていないイベントでこれを行うには、user_eventsもしくはfriends_eventsパーミッションが必要で、返り値はname, id, rsvp_status('not_replied', 'unsure', 'attending', 'declined'のいずれか)を含むオブジェクトです。個々のユーザに関して問い合わせた場合、そのユーザが招待されていなければ空のdata配列が 返されます。

Delete

招待を解除するには /EVENT_ID/invited/USER_ID に対してHTTP DELETEリクエストを送信し、成功すればtrueが返されます。これを行うには、ユーザはイベントの管理者である必要があり、なおかつ rsvp_eventパーミッションが必要です。


attending

Create

rsvp_eventパーミッションがあれば、/EVENT_ID/attending へ HTTP POST リクエストを送信する事でイベント参加できます。成功すればtrueが返り、失敗すればfalseが返されます。

Read

/EVENT_ID/attendingへHTTP GETリクエストを送信する事で参加ユーザの一覧を取得できます。

任 意のユーザが参加するか否かをチェックするには、/EVENT_ID/attending/USER_IDへHTTP GETリクエストを送信します。非公開イベントの場合、これにはuser_eventsもしくはfriends_eventsパーミッションが必要です。 返り値は、name, id, rsvpフィールドを含むJSONオブジェクトの配列となります。個々のユーザに関して問い合わせた場合、そのユーザが参加していなければ空のdata配 列が返されます。

maybe

Create

rsvp_eventパーミッションがあれば、/EVENT_ID/maybe へ HTTP POST リクエストを送信する事で"もしかしたら参加"の登録ができます。成功すればtrueが返り、失敗すればfalseが返されます。

Read

/EVENT_ID/maybeへHTTP GETリクエストを送信する事で、"もしかしたら参加"ユーザの一覧を取得できます。

任意のユーザが"もしかしたら参加"するか否かをチェックするには、/EVENT_ID/maybe/USER_IDへHTTP GETリクエストを送信します。非公開イベントの場合、これにはuser_eventsもしくはfriends_eventsパーミッションが必要です。 返り値は、name, id, rsvpフィールドを含むJSONオブジェクトの配列となります。個々のユーザに関して問い合わせた場合、そのユーザが"もしかしたら参加"していなければ空のdata配 列が返されます。

declined

Create

rsvp_eventパーミッションがあれば、/EVENT_ID/declined へ HTTP POST リクエストを送信する事でイベント不参加できます。成功すればtrueが返り、失敗すればfalseが返されます。

Read

/EVENT_ID/declinedへHTTP GETリクエストを送信する事で不参加ユーザの一覧を取得できます。

任意のユーザが不参加か否かをチェックするには、/EVENT_ID/declined/USER_IDへHTTP GETリクエストを送信します。非公開イベントの場合、これにはuser_eventsもしくはfriends_eventsパーミッションが必要です。 返り値は、name, id, rsvpフィールドを含むJSONオブジェクトの配列となります。個々のユーザに関して問い合わせた場合、そのユーザが不参加で無ければ空のdata配 列が返されます。

noreply

Read

/EVENT_ID/noreplyへHTTP GETリクエストを送信する事で未返信ユーザの一覧を取得できます。

任意のユーザが未返信か否かをチェックするには、/EVENT_ID/noreply/USER_IDへHTTP GETリクエストを送信します。非公開イベントの場合、これにはuser_eventsもしくはfriends_eventsパーミッションが必要です。 返り値は、name, id, rsvpフィールドを含むJSONオブジェクトの配列となります。個々のユーザに関して問い合わせた場合、そのユーザが未返信で無ければ空のdata配 列が返されます。

photos

Read

ユーザアクセストークン付きで /EVENT_ID/photos へリクエストを送信することで、イベントに投稿された画像を取得できます。返り値は、Photoオブジェクトの配列です。

Create

publish_streamパーミッションがあれば、/EVENT_ID/photosへHTTP POSTリクエストを送信する事で画像投稿できます。

Parameter Description Type Required
source 画像 multipart/form-data 必須
message 説明文
文字列
オプション

成功した場合の返り値は以下の通りです。

Name Description Type
id 画像ID 文字列

videos

Read

ユーザアクセストークン付きで /EVENT_ID/videos へリクエストを送信することで、イベントに投稿された動画を取得できます。返り値は、Videoオブジェクトの配列です。

Create

publish_streamパーミッションがあれば、https://graph-video.facebook.com/EVENT_ID/videosへHTTP POSTリクエストを送信する事で動画投稿できます。

Parameter Description Type Required
source 動画
multipart/form-data 必須
title タイトル
文字列 オプション
description 説明文
文字列
オイプション

成功した場合の返り値は以下の通りです。

Name Description Type
id 動画ID
文字列

picture

Read

/EVENT_ID/pictureへHTTP GETリクエストを送信する事で、イベントプロフィール画像URLへHTTPステータスコード302でリダイレクトされます。

Create/Update

イベント管理者のcreate_eventパーミッションがあれば、/EVENT_ID/pictureへHTTP POSTリクエストを送信することでプロフィール画像を追加できます。

Parameter Description Type Required
source 画像
multipart/form-data 必須

成功すればtrueが返ります。

Delete

イベント管理者のcreate_eventパーミッションがあれば、/EVENT_ID/pictureへHTTP DELETEリクエストを送信する事でプロフィール画像を削除できます。成功すればtrueが返ります。

Comments(Graph API)

http://developers.facebook.com/docs/reference/api/Comment/
Graph APIオブジェクトのコメント

目次:
続きを読む

Checkin(Graph API)

http://developers.facebook.com/docs/reference/api/checkin/
チェックインを検索したり、読み込んだり、投稿することが可能です。全てのチェックインには、グラフ上のオブジェクトを示すチェックインIDが割り当てられています。そしてそれらのチェックインは、関連するFacebook PageやOpen Graph protocolページと結びついています。

ユーザのチェックインを取得するには、user_checkinsパーミッションを得る必要があります。ユーザの友人のチェックインを取得するには、friend_checkinsパーミッションが必要です。
続きを読む

JSでFQLを扱う:FB.api, FB.Data.query, FB.Array.forEach

Facebookの提供するJavaScript SDKを使ってFQLクエリを実行する方法は何通りかあります。大きく分けると、FB.apiを直接使う方法とFB.Data.queryを使う方法です。

FQLの使い方を検索するとFB.apiを使う方法が圧倒的に多く出てきますし、FB.Data.queryでも内部でFB.apiを使って問い合わせているので、直接FB.apiを使っても大丈夫です。ですが、FB.Data.queryを利用する方が色々と便利そうなので、こちらを使ってみるのも良さそうです。

目次:
続きを読む

Application(Graph API)

http://developers.facebook.com/docs/reference/api/application/
Facebook Platformに登録されているアプリケーション。既存アプリケーションの情報へのクエリ発行を、Graph APIはサポートします。アプリケーションを作成したり削除するには、開発者自身がDeveloper Applicationへ行かなくてはなりません。

目次
続きを読む
記事検索