【发布时间】:2011-12-15 14:38:36
【问题描述】:
我正在尝试弄清楚如何正确实现应用请求的好友选择器对话。
我的目标是,一旦用户进入我的比赛应用,如果他们没有获胜,他们可以选择向 5 个朋友发送请求,然后他们将有机会再次进入。
我不知道是否可以强制至少选择 5 个朋友,但控制他们是否可以进入的逻辑将由存储在数据库中的一些数据控制,即一旦发送请求,更新db 允许他们重新进入。
我按照这个问题的代码:
How to display the friends selector dialog with PHP sdk for Facebook?
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXX',
));
$user = $facebook->getUser();
$url = 'https://www.facebook.com/dialog/';
$url .= 'apprequests?app_id=XXXXXXXXXX&redirect_uri=http://www.domain.com/';
$url .= '&message=Share%20with%205%20friends%20for%20another%20chance%20to%20win!&display=popup';
?>
<a href="<?php echo $url; ?>">Recommend friends for another chance to win!</a>
<?php
echo $_GET['request_ids'];
if (isset($_GET['request_ids'])) {
for ($i=0; $i<count(request_ids); $i++){
$link = ($link + "&to=" + $request_ids[$i]);
}
echo "<script language=javascript>parent.location=''</script>";
}
我遇到的问题是,当我单击链接时,facebook 徽标会出现在下方,并带有“转到 facebook.com”。当我点击它时,对话框会以整页形式打开。
如果我点击取消,它会将我带到我的域,但它不能重定向到选项卡吗?
同样,如果我完成应用请求对话,我会被重定向到我的主页,而我宁愿被重定向到选项卡。
我很难理解这一点,因此我们将不胜感激。
总而言之,我希望在弹出窗口中打开对话,而不是突然出现 facebook 徽标然后在页面中打开对话。
然后,如果用户单击“取消”以简单地关闭对话并且如果请求完成,则对话再次关闭,将选项卡而不是对话保留为整页并重定向到我的域。
谢谢。
【问题讨论】:
标签: php facebook facebook-graph-api facebook-php-sdk