【发布时间】:2015-06-03 12:19:13
【问题描述】:
在 localhost 中一切正常,但在服务器上无法正常工作。 (显示 Chrome 的空白页,并在 IE 中显示 HTTP 500 内部服务器错误。我试图通过在 php 文件顶部添加代码来获取错误日志,但未能获取日志但为空白页)
error_reporting(E_ALL);
ini_set("display_errors", 1);
服务器运行 PHP 5.5,启用了 CURL SSL。我尝试在 facebook 设置中将服务器 IP 设置为白名单,但效果不佳。服务器中的 Facebook id 和密码正确。
我正在使用 Facebook Javascript SDK 获取用户访问令牌
FB.login(function(response) {
if (response.authResponse) {
var access_token = response.authResponse.accessToken;
然后通过 AJAX 传递给 facebook.php 以检查和获取用户配置文件
$.ajax({
type: "POST",
url: "facebook.php",
data: 'access_token='+access_token
facebook.php
require 'FB_php_sdk_v4/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication('app_id', 'app_secret');
$session = new FacebookSession($_POST['access_token']);
// get GraphUser info by Facebook API
try {
$me = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
$first_name = $me->getFirstName();
$uid = $me->getId();
} catch (FacebookRequestException $e) {
$code = $e->getCode();
$error_msg = $e->getMessage();
echo $code.$error_msg;
}
我尝试了不同的场景,发现当 FacebookRequest 执行时,页面会变成空白。
$me = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->
我在这里被困了几天>
【问题讨论】:
-
有人知道为什么我不能在实时服务器中发出 FacebookRequest 吗?
标签: php server facebook-php-sdk