我正试图在一个范围内打印出我个人资料的名称。我正在使用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();
它只是说“未定义”。为什么?我没有遇到任何致命的错误。
答案 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);