我刚刚创建了一个Facebook应用程序,这是我的第一次尝试,我完全遵循Facebook开发人员的文档,同时按照说明完成所有内容我在授权应用程序时遇到此错误:
发生错误。请稍后再试。
<?php
$app_id = '1603369454518730';
$app_secret = '511b194f6sdgg6eca7cc748d7be6d82d';
//$canvas_page = "http://apps.facebook.com/myapp";
$canvas_page = "http://myappweb.com/app/landhere.php";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri= " . urlencode($canvas_page);
//Requesting Signed Parameter:
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
//User Info. Variables:
try {
$userId = $data["user_id"];
} catch(Exception $e) {
echo $e -> getMessage();
echo "<br>";
}
if (!empty($data["user_id"])) {
if ($data['page']['liked']) {
echo "hello";
} else {
echo "like page";
}
} else {
echo("<script> top.location.href='" . $auth_url . "'</script>");
}
?>
我尝试过在其他线程中找到的建议,例如检查 app id 和 app secret ,禁用沙箱。但这一切对我来说都没有用。请帮助我。
谢谢。
答案 0 :(得分:0)
我不会编码太多,但有点整理出来。 您的画布页面应该是页面的网址而不是您的应用网址。 此外,我尝试使用以下代码,它的工作原理。
<?php
$app_id = "APP_ID";
$canvas_page = "CANVAS_PAGE";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page);
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
echo ("Welcome User: " . $data["user_id"]);
}
?>
答案 1 :(得分:0)
如果我没有弄错,(我与PHP SDK的交互很少),您需要添加一个重定向URL,当验证完成后FB将返回该URL,以完成您必须执行两个步骤:< / p>
1)$ auth_url =“http://www.facebook.com/dialog/oauth?client_id=” 。 $ app_id。 “&amp; redirect_uri =”。进行urlencode($ canvas_page);
2)在你的应用程序页面中:https://developers.facebook.com/apps/app_id 按编辑并在“选择您的应用如何与Facebook集成” 选择网站。
在网址中输入你http://apps.facebook.com/myapp。
祝你好运