从 Facebook API 获取个人资料图片 url - PHP SDK V.5
Get Profile Picture url from Facebook API - PHP SDK V.5
我想获取个人资料的图片 url。
要获取名称,我执行以下操作:
$fb = new \Facebook\Facebook([
'app_id' => '{app_id}',
'app_secret' => '{app_secret}',
'default_graph_version' => 'v2.5',
'default_access_token' => '{access_token}',
]);
$response = $fb->get('/me');
$name = $response->getGraphObject()->asArray();
$name = $name['name'];
echo $name;
按照相同的逻辑,我尝试通过以下方式获取个人资料图片 url:
$fb = new \Facebook\Facebook([
'app_id' => '{app_id}',
'app_secret' => '{app_secret}',
'default_graph_version' => 'v2.5',
'default_access_token' => '{access_token}',
]);
$response = $fb->get('/me/picture');
$pic = $response->getGraphObject()->asArray();
$pic = $pic['url'];
echo $pic;
它没有用。从图形资源管理器我知道我在调用 /me/picture 时得到的是:
{
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/ etc etc "
}
}
所以我确信我做出了正确的选择,但是当我试图获得 url 时我搞砸了。我的想法是转到数据对象,但我无法获得 url 值。我也尝试使用 get 字段,但没有成功:
$pic = $response->getGraphObject()->asArray();
$pic->getField('url');
删除 ->asArray() 没有任何区别。
最后我用这种方式尝试了,但还是失败了。
$object = $response->getGraphObject();
$pic = $object->asArray('data');
$pic = $pic['url'];
echo $pic;
任何帮助将不胜感激:)
所以基本上我发现有一个函数叫做 getGraphUser。
$response = $fb->get('/me?fields=picture');
$user = $response->getGraphUser();
$name = $user->getPicture();
echo $name['url'];
我想获取个人资料的图片 url。 要获取名称,我执行以下操作:
$fb = new \Facebook\Facebook([
'app_id' => '{app_id}',
'app_secret' => '{app_secret}',
'default_graph_version' => 'v2.5',
'default_access_token' => '{access_token}',
]);
$response = $fb->get('/me');
$name = $response->getGraphObject()->asArray();
$name = $name['name'];
echo $name;
按照相同的逻辑,我尝试通过以下方式获取个人资料图片 url:
$fb = new \Facebook\Facebook([
'app_id' => '{app_id}',
'app_secret' => '{app_secret}',
'default_graph_version' => 'v2.5',
'default_access_token' => '{access_token}',
]);
$response = $fb->get('/me/picture');
$pic = $response->getGraphObject()->asArray();
$pic = $pic['url'];
echo $pic;
它没有用。从图形资源管理器我知道我在调用 /me/picture 时得到的是:
{
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/ etc etc "
}
}
所以我确信我做出了正确的选择,但是当我试图获得 url 时我搞砸了。我的想法是转到数据对象,但我无法获得 url 值。我也尝试使用 get 字段,但没有成功:
$pic = $response->getGraphObject()->asArray();
$pic->getField('url');
删除 ->asArray() 没有任何区别。 最后我用这种方式尝试了,但还是失败了。
$object = $response->getGraphObject();
$pic = $object->asArray('data');
$pic = $pic['url'];
echo $pic;
任何帮助将不胜感激:)
所以基本上我发现有一个函数叫做 getGraphUser。
$response = $fb->get('/me?fields=picture');
$user = $response->getGraphUser();
$name = $user->getPicture();
echo $name['url'];