Php Facebook SDK返回错误:操作在0毫秒后超时,接收到0个字节中的0个。Facebook SDK返回错误:28
我正在尝试使用SDK v4.0.5实现facebook登录。当用户单击“登录”时,用户需要登录到facebook才能授予权限,但当用户返回返回url时,会显示以下错误 Facebook SDK返回错误:操作在0毫秒后超时,收到0个字节中的0个字节。Facebook SDK返回错误:28 我的代码在下面Php Facebook SDK返回错误:操作在0毫秒后超时,接收到0个字节中的0个。Facebook SDK返回错误:28,php,facebook-sdk-4.0,Php,Facebook Sdk 4.0,我正在尝试使用SDK v4.0.5实现facebook登录。当用户单击“登录”时,用户需要登录到facebook才能授予权限,但当用户返回返回url时,会显示以下错误 Facebook SDK返回错误:操作在0毫秒后超时,收到0个字节中的0个字节。Facebook SDK返回错误:28 我的代码在下面 <?php // include required files form Facebook SDK // added in v4.0.5 require_once( 'src/Facebo
<?php
// include required files form Facebook SDK
// added in v4.0.5
require_once( 'src/Facebook/HttpClients/FacebookHttpable.php' );
require_once( 'src/Facebook/HttpClients/FacebookCurl.php' );
require_once( 'src/Facebook/HttpClients/FacebookCurlHttpClient.php' );
// added in v4.0.0
require_once( 'src/Facebook/Entities/AccessToken.php' );
require_once( 'src/Facebook/FacebookSession.php' );
require_once( 'src/Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'src/Facebook/FacebookRequest.php' );
require_once( 'src/Facebook/FacebookResponse.php' );
require_once( 'src/Facebook/FacebookSDKException.php' );
require_once( 'src/Facebook/FacebookRequestException.php' );
require_once( 'src/Facebook/FacebookOtherException.php' );
require_once( 'src/Facebook/FacebookAuthorizationException.php' );
require_once( 'src/Facebook/GraphObject.php' );
require_once( 'src/Facebook/GraphSessionInfo.php' );
// added in v4.0.5
use Facebook\FacebookHttpable;
use Facebook\FacebookCurl;
use Facebook\FacebookCurlHttpClient;
// added in v4.0.0
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
// start session
session_start();
// init app with app id and secret
FacebookSession::setDefaultApplication('1020667531298709', 'edf4b9891cdf7385ca518392d38776b1');
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://localhost/tests/fb/test2.php/');
// see if a existing session exists
if (isset($_SESSION) && isset($_SESSION['fb_token'])) {
// create new session from saved access_token
$session = new FacebookSession($_SESSION['fb_token']);
// validate the access_token to make sure it's still valid
try {
if (!$session->validate()) {
$session = null;
}
} catch (Exception $e) {
// catch any exceptions
$session = null;
}
} else {
// no session exists
try {
$accessToken = $helper->getAccessToken();
if (isset($accessToken)) {
// Logged in!
$_SESSION['facebook_access_token'] = (string) $accessToken;
echo $_SESSION['facebook_access_token'];
// Now you can redirect to another page and use the
// access token from $_SESSION['facebook_access_token']
} elseif ($helper->getError()) {
// The user denied the request
exit;
}
// $session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
} catch (Exception $ex) {
// When validation fails or other local issues
echo var_dump($ex);
}
}
// see if we have a session
if (isset($session)) {
// save the session
$_SESSION['fb_token'] = $session->getToken();
// create a session using saved token or the new one we generated at login
$session = new FacebookSession($session->getToken());
// graph api request for user data
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject()->asArray();
// print profile data
echo '<pre>' . print_r($graphObject, 1) . '</pre>';
// print logout url using session and redirect_uri (logout.php page should destroy the session)
echo '<a href="' . $helper->getLogoutUrl($session, 'http://localhost/tests/fb/test2.php') . '">Logout</a>';
} else {
// show login url
echo '<a href="' . $helper->getLoginUrl(array('email', 'user_friends')) . '">Login</a>';
}
您找到解决方案了吗?