Facebook PHP SDK返回undefined

时间:2018-02-15 15:44:07

标签: php facebook-graph-api facebook-php-sdk

我正试图在一个范围内打印出我个人资料的名称。我正在使用Facebook PHP SDK V5.x,我正在使用我的应用程序的ID和密码以及我管理的页面访问令牌,我授予了权限。

以下是打印输出代码:

<?php echo $user['name']; ?>

以下是我用来尝试提取用户名的代码:

$fb = new Facebook\Facebook([
  'app_id' => '{app-id}',
  'app_secret' => '{app-secret}',
  'default_graph_version' => 'v2.12',
  'default_access_token' => '{access-token}', // optional
 ]);

try {

$response = $fb->get('/me?fields=id,name', '{access-token}');
$user = $response->getGraphUser();

它只是说“未定义”。为什么?我没有遇到任何致命的错误。

1 个答案:

答案 0 :(得分:0)

试试这段代码:

设置fb id,secret ect

try {
    $accessToken = $helper->getAccessToken();
} catch (\Facebook\Exceptions\FacebookResponseException $e) {
    echo "Response Exception: " . $e->getMessage();
    exit();
} catch (\Facebook\Exceptions\FacebookSDKException $e) {
    echo "SDK Exception: " . $e->getMessage();
    exit();
}

$oAuth2Client = $FB->getOAuth2Client();
    if (!$accessToken->isLongLived())
        $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);

    $response = $FB->get("/me?fields=id, first_name, last_name, email,)", $accessToken);
    $userData = $response->getGraphNode()->asArray();
    $userData = $response->getDecodedBody();
    echo "<pre>";
    var_dump($userData);