我使用以下命令生成登录网址:
$facebook->getLoginUrl(array('canvas' => 1, 'fbconnect' => 0, "display"=>"page", 'next' => APP_URL, 'req_perms' => 'email,publish_stream,offline_access'))
但是,当用户点击该链接时,他会被重定向到带有Facebook徽标的页面,并在其下方显示“转到Facebook.com”消息。为什么会发生这种情况以及如何解决?
一个实例:http://apps.facebook.com/soundofcamden/(只需点击身份验证链接)
答案 0 :(得分:3)
$login_url = $facebook->getLoginUrl(array('canvas' => 1,'fbconnect' => 0, 'req_perms' => 'email,publish_stream,offline_access', 'next' => APP_URL));
echo '<div class="notice">You need to <a href="' . $login_url . '" onclick="top.location.href = \'' . $login_url . '\';">authenticate first</a>.</div>';
解决方案。
答案 1 :(得分:0)
我遇到了这个问题,但它有不同的原因。我正在添加它作为答案,只是因为它可以帮助任何落在这里的人。
与facebook'一起发生错误。请稍后再尝试'错误页面,我看到以下PHP通知我已经实现了facebook API:
简短的回答是错误是由我从Facebook SDK文档中复制/粘贴代码引起的。
答案很长,前四个通知是由数组键名称周围的引号引起的。它们是unicode,PHP无法识别。用标准单引号替换它们就固定了它。
最后两个是由于数组键不在引号中(从facebook SDK文档复制):
$params = array(
scope => 'read_stream, friends_likes','email',
redirect_uri => "CALLBACK-URL.COM"
);
更改为:
$params = array(
'scope' => 'read_stream, friends_likes','email',
'redirect_uri' => "CALLBACK-URL.COM"
);
一些非常简单的问题很难发现!我希望这有助于某人。