几年以来,我有一个 FBML 应用程序(一个小型 Flash 游戏),我现在正试图将其转换为 iFrame 应用程序。不幸的是,目前还没有很多 Facebook iFrame 应用程序的文档。
对于我的游戏,我需要用户的名字、图片、性别和城市。
在我的旧版本中,我有这个预加载 FQL(由 PHP 脚本创建一次):
$fql = array('info' => array('pattern' => 'facebook',
'query' => 'SELECT first_name, sex, pic_big, current_location
FROM user WHERE uid={*user*}'));
$fb->api_client->admin_setAppProperties(
array('preload_fql' => json_encode($fql)));
然后我的 FBML 应用程序脚本非常简单:
<?php
require_once('facebook.php');
define('FB_API_ID', 'XXX');
define('FB_AUTH_SECRET', 'YYY');
$fb = new Facebook(FB_API_ID, FB_AUTH_SECRET);
$viewer_id = $fb->require_login();
$data = json_decode($fb->fb_params['info'], true);
$first_name = $data[0][0];
$last_name = $data[0][2];
$female = ($data[0][3] != 'male');
$avatar = $data[0][3];
$city = $data[0][4]['city'];
# and then I'd just construct flashvars attribute
# for the <fb:swf ...> tag and print it
?>
有人请提示如何为 iFrame 版本重新创建相同的脚本 - 即如何通过我的 iFrame 应用程序获取 Preload FQL 的结果?
根据较早的 Facebook 博客条目,iFrame 应用程序应该可以访问 Preload FQL。
谢谢!亚历克斯