Facebookアプリ(小さなマルチプレイヤーFlashゲームを埋め込んだPHPスクリプト)を古いFBMLから新しいiFrameタイプに書き直そうとしていますが、これは一種の動作です。
<?php
require_once('facebook.php');
define('FB_API_ID', '182820975103876');
define('FB_AUTH_SECRET', 'XXX');
$facebook = new Facebook(array(
'appId' => FB_API_ID,
'secret' => FB_AUTH_SECRET,
'cookie' => true,
));
if (! $facebook->getSession()) {
printf('<script type="text/javascript">top.location.href="%s";</script>',
$facebook->getLoginUrl(
array('canvas' => 1,
'fbconnect' => 0,
#'req_perms' => 'user_location',
)));
} else {
try {
$me = $facebook->api('/me');
$first_name = $me['first_name'];
$city = $me['location']['name'];
$female = ($me['gender'] != 'male');
$fields = $facebook->api('/me', array(
'fields' => 'picture',
'type' => 'large'
));
$avatar = $fields['picture'];
# then I print swf tag and pass first_name;city;avatar to it
} catch (FacebookApiException $e) {
print('Error: ' . $e);
}
}
?>
しかし、ユーザープロファイル画像を取得するための呼び出しにより、スクリプトで2番目のCURLフェッチが実行されると思いますが、これはおそらく回避できますか?また、古いRESTAPIではなく新しいGRAPHAPIを使用したいのですが、その呼び出しを書き直す方法がわかりません(そして、大きくて直接的なユーザー画像を取得する必要があります)。