如何获得facebook的个人资料图像使用facebook的用户名没有Oauth使用facebook的API


How to get facebook profile image using facebook username withou Oauth using facebook API

我试过这个代码。通过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这样做是为了提高安全性和隐私性。