我不是最伟大的程序员,如果这是一个明显的问题,我很抱歉,但我真的希望有人可以帮助我。我很难过。
我试图让我的网站完全通过https运行,包括基本的php Facebook集成,从用户配置文件中捕获数据。
以下代码按预期工作:
require_once __DIR__ . '/vendor/autoload.php';
$fb = new Facebook\Facebook(['app_id' => '','app_secret' => '','default_graph_version' => 'v2.7',]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email,user_location']; // Optional permissions
$loginUrl = $helper->getLoginUrl('http://'.$_SERVER['SERVER_NAME'].'/profile.php', $permissions);
echo '<a href="' . htmlspecialchars($loginUrl) . '">Facebook!</a>';
但是,更改行:
$loginUrl = $helper->getLoginUrl('https://'.$_SERVER['SERVER_NAME'].'/profile.php', $permissions);
返回错误:
“无法加载网址:此网址的域名未包含在应用的域中。要加载此网址,请将应用的所有域和子域添加到应用设置中的应用域名字段中。”
我在Facebook应用设置和Facebook登录设置中拥有HTTPS和HTTP的所有相同设置。我无法解决这个问题......