Facebook iFrame 应用程序 - 如何使用 PHP SDK 获取 Preload FQL 结果?

2024-02-14

几年来我有一个 FBML 应用程序(一个小的Flash游戏 http://apps.facebook.com/video-preferans/)我现在正在尝试将其转换为 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 应用程序应该可以访问预加载 FQL http://developers.facebook.com/blog/post/152/.

谢谢你! 亚历克斯


经过长时间搜索后,我自己的答案是 Preload FQL 结果不会发送到 iframe Facebook 应用程序。

因此Facebook 绩效文档 http://developers.facebook.com/docs/guides/performance/ says:

“预加载 FQL 查询和多重查询。

本节适用于 FBML 画布页面,但不适用于网站或 IFrame 画布页面。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook iFrame 应用程序 - 如何使用 PHP SDK 获取 Preload FQL 结果? 的相关文章

随机推荐