スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FQLでemailが取得出来なかった

facebook APIでfacebookのDBデータにFQLと言うSQLみたいなのを使ってアクセス出来る。

$facebook = new Facebook(array(
'appId' => FB_APP_KEY,
'secret' => FB_APP_SECRET,
'cookie' => true,
));
$loginUrl = $facebook->getLoginUrl(array(
'fbconnect' => 0,
'req_perms' => 'status_update,publish_stream' // ステータス更新とフィードへの書き込み許可
));

とかで、ログイン用のURLを作成してアクセス許可をする。
その後、

$session = $facebook->getSession();
if ($session) {
try {
$uid = $facebook->getUser();
$fql = "select uid, name, email from user where uid=" . $uid;
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
$fqlResult = $facebook->api($param);
} catch (FacebookApiException $e) {
print_r($e);
}
print_r($fqlResult);

}

みたいな感じで取得出来るかと思っていたが、emailだけ値が空になってしまう。

これはログインURLでemailを許可するように設定していなかったから。
下記のようにすればOK

$loginUrl = $facebook->getLoginUrl(array(
'fbconnect' => 0,
'req_perms' => 'email,status_update,publish_stream' // ステータス更新とフィードへの書き込み許可
));


参考サイト

FQLのuserテーブルのカラム
Permissions
スポンサーサイト

トラックバック

コメント

コメントを残す

Secret


プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。