我试过这个代码。通过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登录的个人资料图片图像url
只需格式化以下URL就可以了:
https://graph.facebook.com/<FacebookUserExternalId>/picture?type=square
无需身份验证或其他任何要求。
EDIT:我的错,我没有看到您需要根据用户名获得配置文件图像。对不起,这行不通(我的建议也不是实现你目标的替代方案)。Facebook这样做是为了提高安全性和隐私性。