无法连接到graph.facebook.com端口443:连接被拒绝

问题描述:

我是FB图形API的新手,我尝试在我的网站中包含FB登录,我遵循他们网站的官方FB登录教程,但登录后我得到以下错误:
无法连接到graph.facebook.com端口443:连接被拒绝

Failed to connect to graph.facebook.com port 443: Connection refused 

的login.php

<?php 
session_start(); 
require_once __DIR__ . '/fbsdk/src/Facebook/autoload.php'; 

$fb = new Facebook\Facebook([ 
'app_id' => 'xxx', 
'app_secret' => 'xxx', 
'default_graph_version' => 'v2.3', 
// . . . 
]); 

$helper = $fb->getRedirectLoginHelper(); 
$permissions = ['public_profile', 'email']; // optional 
$loginUrl = $helper->getLoginUrl('http://-myserver-/login-callback.php', $permissions); 

echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>'; 
?> 

登录-callback.php

<?php 
session_start(); 
require_once __DIR__ . '/fbsdk/src/Facebook/autoload.php'; 

$fb = new Facebook\Facebook([ 
'app_id' => 'xxx', 
'app_secret' => 'xxx', 
'default_graph_version' => 'v2.3', 
// . . . 
]); 



$helper = $fb->getRedirectLoginHelper(); 
try { 
$accessToken = $helper->getAccessToken(); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
// When Graph returns an error 
echo 'Graph returned an error: ' . $e->getMessage(); 
exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
// When validation fails or other local issues 
echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
exit; 
} 

if (isset($accessToken)) { 
// Logged in! 
$_SESSION['facebook_access_token'] = (string) $accessToken; 

// Now you can redirect to another page and use the 
// access token from $_SESSION['facebook_access_token'] 
} 
?> 

例如,帆布app.php

<?php 
session_start(); 
require_once __DIR__ . '/fbsdk/src/Facebook/autoload.php'; 

$fb = new Facebook\Facebook([ 
'app_id' => 'xxx', 
'app_secret' => 'xxx', 
'default_graph_version' => 'v2.3', 
// . . . 
]); 



$helper = $fb->getCanvasHelper(); 
try { 
$accessToken = $helper->getAccessToken(); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
// When Graph returns an error 
echo 'Graph returned an error: ' . $e->getMessage(); 
exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
// When validation fails or other local issues 
echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
exit; 
} 

if (isset($accessToken)) { 
// Logged in. 
} 
?> 

我已经搜查堆栈和谷歌,但我无法找到任何解决方案

+0

这很可能是您的服务器或网络的配置问题,您确定您的IPV4和IPV6连接都允许您的机器联系graph.facebook.com吗? – Igy

+0

使用Facebook API需要哪种类型的服务器?我目前使用Hostinger提供的免费服务器 –

+0

任何服务器都可以运行您正在构建网站的编程语言,并且具有与Facebook API服务器的网络连接性 – Igy

Hostinger的免费服务器不允许页Fb的SDK的连接,通过提到客户服务。