我尝试过这段代码。通过facebook用户名获取id(数字)(字符串) 它什么都不返回
$fb = new Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $secret,
'default_graph_version' => 'v2.2',
]);
try {
$request = new Facebook\FacebookRequest(
locale,
'GET',
'/10200410760947768',
array(
'fields' => 'picture.type(large)'
)
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
echo '<pre>';
print_r($graphObject);
echo '</pre>';
/* handle the result */
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
当我提供类似示例的输入时,我需要获取个人资料图片:https://www.facebook.com/username/
通过上面的例子,我需要一个没有Oauth登录的个人资料图片图片
答案 0 :(得分:1)
只需格式化以下网址即可:
https://graph.facebook.com/<FacebookUserExternalId>/picture?type=square
无需身份验证或任何必需的内容。
编辑:我的不好,我没有看到您需要根据用户名获取个人资料图片。对不起,这不会奏效(我的建议也不是实现目标的替代方案)。 Facebook这样做是为了增加安全性和隐私。