使用启用严格模式的Facebook PHP SDK登录时出错

时间:2017-12-20 03:47:28

标签: facebook facebook-php-sdk facebook-login

我收到了来自Facebook的通知,说他们将无效来自有效OAuth重定向URI中未列出的URI的来电 2018年3月,我认为他们要求我们启用严格模式用于重定向URI。关于此的链接可以找到here

我一直使用他们的PHP SDK并禁用严格模式一年没有任何问题但是当我启用严格模式并在那里放置重定向网址时:https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php - 它会返回错误,如下所示每次我尝试使用Facebook登录时:

Graph returned an error: Can't Load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL, add all domains and subdomains of your app to the App Domains field in your app settings.

请注意,我只是使用FB的默认PHP SDK登录代码(https://developers.facebook.com/docs/php/howto/example_facebook_login),它们具有login.php和fb-callback.php链接,而且我没有使用任何自定义OAuth工作流程。

我注意到生成的重定向网址包含代码参数:

site.com/admin/fb-callback_admin.php?code=somecode&state=somestate

我认为这就是为什么我收到错误的原因,因为它只需要https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php的重定向网址而没有任何尾随参数。

如果重定向网址的响应通过以下代码,您如何考虑解决此问题的启用严格模式:

$helper = $fb->getRedirectLoginHelper();
$permissions = ['email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php', $permissions);
echo htmlspecialchars($loginUrl);

默认是从FB的PHP SDK生成的?

2 个答案:

答案 0 :(得分:26)

更改

.//*[contains(@id,'review_stars')]/i/span[@class='a-icon-alt']

$accessToken = $helper->getAccessToken()   

我有同样的问题,并在这个帖子中找到了这个答案,这似乎解决了我的问题:

Graph returned an error: Can't Load URL: The domain of this URL isn't included in the app's domains

不知道为什么会这样,但是很高兴。

答案 1 :(得分:4)

我遇到了同样的问题,实际上,这来自facebook图表sdk。

我从here

获得了这些信息
  

此外,一个快速而肮脏的变化似乎可以解决这个错误   正在添加代码'要删除的参数列表   FacebookRedirectLoginHelper

后来facebook本身发布了更新的软件包,似乎解决了这个问题。

确保您在此回答时拥有最新版本的facebook-graph-sdk,版本为5.6.2