friends テーブルの解説

friends テーブル派友達一覧を取得かのうなテーブル
uid
整数値
ユーザID
uid2
整数値
ユーザID
----------------------------------------–
like テーブル
これは いいね」! しているデータを取得可能なテーブル
object_id
文字列型
写真、動画、アルバム、ノート、リンクのオブジェクトID
post_id
文字列型
投稿ID
user_id
整数値
いいね! しているユーザID
object_type
文字列型
対応するポストの種類
-----------------------------------
permissions_info テーブル
これは 権限の種類を取得可能なテーブル
permittion_name
文字列型
権限の名前
header
文字列型
権限についての概略

comment テーブル メモ

コメントプラグインからのコメントが含まれるテーブル
user_likesフィールドにアクセスするには
アクセストークンが必要
xid
文字列型
fb:commentsタグで使用される外部ID
object_id
文字列型
Facebook内の通し番号
post_id
文字列型
投稿ID
fromid
整数型
コメントしたユーザID
time
整数型
コメントの投稿時間(UNIX時間)
text
文字列型
コメント内容
id
整数型
コメントに対する一覧なID
username
文字列型
投稿者のユーザIDが0であったときの投稿者名
reply_xid
文字列型
返信のXID
post_fbid
文字列型
コメントに対応するオブジェクトID
app_id
整数値
コメントに対応づくアプリID
likes
整数値
コメントに対する いいね の数
comments
コメントの配列
コメントに対する返信
can_like
真偽値
いいね できるときには true
user_like
真偽値
いいね しているとき true
is_private
真偽値
コメントがプライベートなら true

FQLで使用可能なテーブル一覧

FQLで使用可能なテーブル一覧をメモしておきました
これで、忘れた時に参考にしようと思います
album
comments_info
domain_admin
friend_request
insights
mailbox_folder
page
permissions_info
privacy_seting
review
steam_filter
unfield_thread
video
application
connection
event
friendlist
like
message
pagee_admin
photo
profile
standard_friend_info
stream_tag
unified_thread_action
video_tag
apprequest
cookies
event_member
friendist_member
link
note
page_blicked_user
photo_tag
question
standard_user_info
thread
unified_thread_count
checkin
developer
family
group
link_start
notification
page_fan
place
question_option
status
translation
url_like
comment
domain
friend
group_member
location_post
object_url
permissions
privacy
question_option_votes
stream
unified_message
user

FQL の select 文

SELECT カラム名 FROM テーブル名 WHERE 条件 LIMIT 件数
ほとんど、sql の select文と変わらないようなかんじ
1つ違うのは
likes.count のようなフィードがハッシュのときには
さらにハッシュキーの指定ができるということ
Mysqlとかの場合だと 
結合のために JOIN を使う必要があるので
ここが違うかも
ruby on rails でもにたような処理ができるけど
実際にSQLをつかうときには
結合をつかうように変換されるらしい
(ruby はつかったことがあまりないため、不明)
ログインしているユーザIDを示すなら
me()
を指定すれば、対応できるし
他にも
現在時刻を示す now()
文字列の一部を抜き出す substr()
検索対象の文字列の位置を取得する strpos()
など、便利関数が用意されています
stream というテーブルがあるけど
これはニュースフィードに出てくる投稿を取得するためのテーブル
になります

FQL を使った facebook アプリへのアクセス

FQL
Facebook Query Language

facebook が保有するデータベース内の情報
ソーシャルグラフデータにSQLのような構文を使ってアクセスできる
クエリー言語のこと
投稿されたテキスト内容
写真と動画のURL
友達リスト
いいね
シェアされている投稿
などの取得が可能
ただし、MySQL などの SQL と違うのは
select しか使えないということ
副問い合わせはできるけど
統合機能がないため、複雑なものは難しいということ
に注意
統合の代わりとして
マルチクエリー発行が可能になっています
自分のPHPコードで統合処理をしたり、
副問い合わせを使用したりして、時分なりにカスタマイズする必要がありそうです

facebook アプリに友達を招待するには

作成したイベントについて
Graph API を使えば友達も誘える
FB,.api() のURLに
‘/イベントのID/invited’
を指定して
友達のユーザIDをカンマ区切りで指定して
POSTメソッドで呼び出せば
友達の招待を行える
構文は
FB.api(‘/イベントのID/invited/友達のユーザID’,’post’,function(response){
})

facebook のイベント作成時に指定できるパラメータ

owner
id,name のハッシュ
内容は主催者
name
文字列
内容はイベントの名前
description
文字列
内容はイベントの説明文
start_time
ISO8601形式またはUNIX時間
内容はイベント開始時間
end_time
ISO 8601形式 または UNIX時間
内容はイベント終了時間
location
文字列
内容はイベント開催場所
venue
id,street,city,state,zip,country,latitude,logitude
のうち1つを含むハッシュ
内容はイベントの開催場所
privacy
OPEN, CLOSED, SECRET のうち
いずれかの文字列
内容は
公開、非公開、秘密のイベントの種別
他には
id
updated_time
イベントのウォールと参加者の情報などにアクセスすることもできます

Facebook イベント作成機能

Facebook にはイベントを作成する機能があります
イベントの日時、場所を指定して作成し
友達を誘う
イベントの情報をしると参加申請することができます
参加の有無はボタンで意思表示することができ累計も自動でできます
あるイベントの後で友達にあると
イベントで友達になったというようにFaceBookで判断され
アクティビティに
イベントで友達になりました
というような内容が表示されます
ということでイベント作成の解説です
イベントの作成は
Graph API で行えます
作成するには create_event 拡張権限が必要
ちなみに、公開でないイベント(非公開招待イベント)

user_event権限
友達のイベントについて情報を取得するには
friend_event権限
イベントに参加するかどうかを返答するには
rsvp_event権限
が必要になります

Registration プラグインのフィールドタイプとパラメータ

パラメータ name のフィールドタイプのメモです
name
ユーザ名
email
メール・アドレス
location
居住地
gender
性別
birthday
誕生日
password
パスワード
captcha
機械じゃないことを証明するための入力機構
(崩れた字を入力する)
--------------------------------------------------—-
type パラメータ の内容
入力のタイプ
(text,checkbox,slect,typeahead,hidden)
---------------------------------------------—
description パラメータの内容
入力欄に表示する項目名
----------------------------------------—-
view パラメータの内容
prefiled
入力欄をうめている状態で表示
hot_preifiled
入力欄をうめないで表示
----------------------------------------–
options パラメータの内容
タイプが select のときの選択項目を
ハッシュ形式
{“値”:”表示名”,…}
で指定
-----------------------------------—
categories パラメータの内容
タイプが typeahead のときの入力候補を配列
[‘a’,’b’,…..]
で指定
-----------------------------------
default パラメータの内容
タイプが select または checkbox のときに指定
値に checked が含まれているとき、checkbox はチェックさせる
------------------------------—
no_submit パラメータの内容
入力欄は作成するが、送信項目には含めない

Registration ソーシャルプラグイン

Registration ソーシャルプラグインは
Facebook にアカウントを所持している場合
サービス提供者が要求する入力項目がアカウントに登録されていれば
その内容をあらかじめ入力されている状態にするというものです
これを使えば、利用者は
いちいち全部の項目を入力しなくて済みます
例えば、会員情報で必須の登録で
住所
氏名
年齢
メール・アドレス
など、必須入力となっている項目を facebook アカウントに登録してある
情報から取得して、自動入力状態にできるというものです
たしかに、登録するのに必要な情報をすべて入力するのは
面倒なので、便利ですが、どの程度要求するのかに注意する必要がありそうです
ちなみに、これについては
https://developers.facebook.com/docs/plugins/registration/
にサンプルがあります
実際に facebook にログインした状態でアクセスすると
アカウントの情報が表示されます
Registration プラグインは
facebook のログインボタンの設置のように
タグで作成します
使うタグは
<fb:registration>
というXFBMLタグになります
入力項目は
fields 属性に設定し
redirect-uri 属性に入力項目を送信するURLを指定します
また、入力された情報は
java script で確認できます
このとき onvalidate属性により実現されます
入力方法は2つあり
カンマ区切りでフィード名を指定する
もしくは
JSON形式で指定します
カンマ区切りなら
facebook が提供する項目を指定し
JSON形式ならパラメータを使用して入力フォームを構成します
カスタマイズしたいならJSON形式を使うことになります
開発者用のドキュメントも用意されています
(英語です)
https://developers.facebook.com/docs/plugins/registration/advanced/