Facebook API - ฉันจะรับรูปภาพโปรไฟล์ผู้ใช้ Facebook ผ่าน Facebook API ได้อย่างไร (โดยไม่ต้องให้ผู้ใช้ "อนุญาต" แอปพลิเคชัน)


257

ฉันกำลังทำงานกับCMSที่ดึงภาพโปรไฟล์ของผู้ใช้จากURL Facebook ของพวกเขา(นั่นคือhttp://facebook.com/users_unique_url ) ฉันจะทำสิ่งนี้ได้อย่างไร มีการเรียกใช้ Faceboook API ที่ดึง URL ภาพโปรไฟล์ของผู้ใช้โดยไม่ต้องให้ผู้ใช้อนุญาตหรือไม่

คำตอบ:


409

เพียงดึงข้อมูลผ่านURLนี้:

http://graph.facebook.com/userid_here/picture

แทนที่userid_hereด้วย id ของผู้ใช้ที่คุณต้องการรับรูปถ่าย คุณสามารถใช้ HTTPS ได้เช่นกัน

คุณสามารถใช้file_get_contentsฟังก์ชันPHP เพื่ออ่าน URL นั้นและประมวลผลข้อมูลที่ดึงมาได้

ทรัพยากร:

http://developers.facebook.com/docs/api

หมายเหตุ:ในphp.iniคุณต้องแน่ใจว่าเปิดใช้งานส่วนขยายOpenSSLเพื่อใช้file_get_contentsฟังก์ชั่นของ PHP เพื่ออ่าน URL นั้น


73
เมื่อมองผ่านหน้านั้นต่อไปสิ่งที่มีประโยชน์อีกอย่างหนึ่งอาจเป็นการ?type=largeสอบถามที่คุณสามารถเพิ่มได้ อุปกรณ์ประกอบฉากสำหรับคำตอบที่ดีกว่าการขูดหน้าจอฉันกำลังพิมพ์ BTW :)
Domenic

6
ใช้<img src="//graph.facebook.com/sarfraz.anees/picture" />หากคุณเปลี่ยนระหว่าง HTTP และ HTTPS ... ตรวจพบโปรโตคอลโดยเบราว์เซอร์และคุณจะไม่ได้รับคำเตือนเนื้อหาแบบผสมบน HTTPS
Chris Jacob

39
ควรเน้นผู้ใช้บางคนไม่มีชื่อผู้ใช้สำหรับบัญชี FB ของพวกเขา เมื่อเป็นกรณีนี้และคุณพยายามที่จะใช้คำตอบนี้คุณจะได้รับเครื่องหมายรูปโปรไฟล์เริ่มต้นของ FB เพื่อหลีกเลี่ยงปัญหานี้อย่างง่ายดายให้ใช้ FB ID ของผู้ใช้แทน
Josh

7
ควรสังเกตว่าใน V2 ของกราฟ api นี้ไม่ทำงานอีกต่อไปโดยใช้ชื่อผู้ใช้ ดังนั้นตอนนี้คุณต้องมีรหัสผู้ใช้ก่อนและคุณไม่สามารถใช้ชื่อผู้ใช้เพื่อรับสิ่งนี้ได้อีก จำนวนผู้ใช้ยังเปลี่ยนไปตามแต่ละแอปดังนั้นคุณจะต้องมีการรับรองความถูกต้องบางอย่างเพื่อดึงหมายเลขผู้ใช้ที่คุณสามารถใช้ได้ ในทางเทคนิคแล้วรูปโปรไฟล์ยังคงเป็นสาธารณะและสามารถดูได้ที่graph.facebook.com/v2.2/4/picture?redirect=0อย่างไรก็ตามการค้นหาหมายเลขผู้ใช้ (4 ในลิงค์ก่อนหน้านี้) ดูเหมือนว่าเป็นไปไม่ได้ขึ้นอยู่กับโปรไฟล์ของผู้ใช้ URL กราฟเก่ายังคงใช้งานได้จนถึงเมษายน 2015
sckd

36
มันคือปี 2015 และฉันได้รับ(# 803) ไม่สามารถสอบถามผู้ใช้ด้วยชื่อผู้ใช้ (sarfraz.anees)
Santosh Kumar

268

เพื่อที่จะแสดง:

50x50 พิกเซล

<img src="//graph.facebook.com/{{fid}}/picture">

ความกว้าง 200 พิกเซล

<img src="//graph.facebook.com/{{fid}}/picture?type=large">

วิธีบันทึก (ใช้ PHP)

หมายเหตุ: อย่าใช้นี้ ดูความคิดเห็นของ @ Foreever ด้านล่าง

$img = file_get_contents('https://graph.facebook.com/'.$fid.'/picture?type=large');
$file = dirname(__file__).'/avatar/'.$fid.'.jpg';
file_put_contents($file, $img);

ที่ $ fid คือรหัสผู้ใช้ของคุณบน Facebook

หมายเหตุ: ในกรณีของภาพที่ทำเครื่องหมายว่า "18+" คุณจะต้องมี access_token ที่ถูกต้องจากผู้ใช้ 18+ ราย:

<img src="//graph.facebook.com/{{fid}}/picture?access_token={{access_token}}">

อัปเดต 2558:

Graph API v2.0 ไม่สามารถสอบถามโดยใช้ชื่อผู้ใช้คุณควรใช้userIdเสมอ


6
นี่คือข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ type: "คุณสามารถระบุขนาดรูปภาพที่คุณต้องการด้วยอาร์กิวเมนต์ type ซึ่งควรเป็นหนึ่งในสี่เหลี่ยมจัตุรัส (50x50), เล็ก (กว้าง 50 พิกเซล, ความสูงของตัวแปร), ปกติ (กว้าง 100 พิกเซล, ความสูงของตัวแปร ) และใหญ่ (กว้างประมาณ 200 พิกเซลและความสูงแปรผัน) "ผ่านกราฟ API บน Facebook

3
ในการใช้วิธีนี้คุณต้องตั้งค่า allow_url_fopen เป็นเปิด คำสั่ง allow_url_fopen ถูกปิดใช้งานโดยค่าเริ่มต้น คุณควรตระหนักถึงผลกระทบด้านความปลอดภัยในการเปิดใช้งานคำสั่ง allow_url_fopen สคริปต์ PHP ที่สามารถเข้าถึงไฟล์ระยะไกลอาจมีความเสี่ยงต่อการใช้รหัสโดยอำเภอใจ เมื่อเปิดใช้งานคำสั่ง allow_url_fopen คุณสามารถเขียนสคริปต์ที่เปิดไฟล์ระยะไกลราวกับว่าเป็นไฟล์ในเครื่อง
Foreever

ดูมีประโยชน์มากดังนั้นขอให้มีความสุขล่วงหน้า แต่เป็นระดับที่ใหม่เกินไปที่จะเข้าใจฉันอยากจะรู้ว่าภาษาการเขียนโปรแกรมนี้อยู่ใน? ฉันเดาว่า PHP
hello_there_andy

@hello_there_andy อ๋อ! มัน PHP (ที่จริงเป็นคำถามที่ติดแท็กเป็น PHP และมันเป็นภาษาเดียวที่ผมใช้ 4 ปีที่แล้ว)
neiker

7
ในเดือนกรกฎาคม 2558 สิ่งนี้ใช้งานไม่ได้อีกแล้ว (ข้อผิดพลาด: "ไม่สามารถสืบค้นผู้ใช้ด้วยชื่อผู้ใช้")
Flimm

164

อัปเดต :

เริ่มตั้งแต่ปลายเดือนสิงหาคม 2012 API ได้รับการอัปเดตเพื่อให้คุณสามารถดึงภาพโปรไฟล์ของผู้ใช้ในขนาดที่แตกต่างกัน เพิ่มฟิลด์ตัวเลือกความกว้างและความสูงเป็นพารามิเตอร์ URL:

https://graph.facebook.com/USER_ID/picture?width=WIDTH&height=HEIGHT

ค่ามิติที่คุณร้องขออยู่ที่ไหนWIDTHและอยู่ที่ไหนHEIGHT

สิ่งนี้จะส่งคืนรูปภาพโปรไฟล์ที่มีขนาดต่ำสุดของWIDTHx HEIGHTในขณะที่พยายามรักษาอัตราส่วนไว้ ตัวอย่างเช่น,

https://graph.facebook.com/redbull/picture?width=140&height=110

ผลตอบแทน

    {
      "data": {
        "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/c0.19.180.142/s148x148/2624_134501175351_4831452_a.jpg",
        "width": 148,
        "height": 117,
        "is_silhouette": false
      }
   }

สิ้นสุดการอัพเดท

ในการรับภาพโปรไฟล์ของผู้ใช้โทร

https://graph.facebook.com/USER_ID/picture

ซึ่งUSER_IDสามารถเป็นหมายเลข ID ผู้ใช้หรือชื่อผู้ใช้

หากต้องการรับรูปภาพโปรไฟล์ผู้ใช้ที่มีขนาดเฉพาะให้โทร

https://graph.facebook.com/USER_ID/picture?type=SIZE

ที่SIZEควรถูกแทนที่ด้วยคำใดคำหนึ่ง

square
small
normal
large

ขึ้นอยู่กับขนาดที่คุณต้องการ

การโทรนี้จะส่งคืนURLเป็นภาพเดียวโดยมีขนาดตามพารามิเตอร์ประเภทที่คุณเลือก

ตัวอย่างเช่น:

https://graph.facebook.com/USER_ID/picture?type=small

ส่งคืน URL เป็นรูปภาพขนาดเล็ก

API ระบุขนาดสูงสุดสำหรับภาพโปรไฟล์เท่านั้นไม่ใช่ขนาดจริง

สแควร์:

ความกว้างและความสูงสูงสุด 50 พิกเซล

เล็ก

ความกว้างสูงสุด 50 พิกเซลและความสูงสูงสุด 150 พิกเซล

ปกติ

ความกว้างสูงสุด 100 พิกเซลและความสูงสูงสุด 300 พิกเซล

ใหญ่

ความกว้างสูงสุด 200 พิกเซลและความสูงสูงสุด 600 พิกเซล

หากคุณโทรหา USER_ID / รูปภาพเริ่มต้นคุณจะได้รับประเภทสี่เหลี่ยมจัตุรัส

ชี้แจง

ถ้าคุณโทร (ตามตัวอย่างข้างต้น)

https://graph.facebook.com/redbull/picture?width=140&height=110

มันจะกลับมาเป็นJSONการตอบสนองถ้าคุณกำลังใช้หนึ่งในวิธีการร้องขอ Facebook SDKs มิฉะนั้นจะส่งคืนภาพเอง หากต้องการดึงข้อมูล JSON ให้เพิ่ม:

&redirect=false

ชอบมาก:

https://graph.facebook.com/redbull/picture?width=140&height=110&redirect=false

คำอธิบายที่ดี แต่ค่าตอบแทนของ url ที่คุณให้ (' graph.facebook.com/redbull/ ...... ) ตอบกลับด้วย URL ของภาพในส่วนหัวของตำแหน่ง (' ที่ตั้ง: fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4 /c0.19.180.142/… ) ไม่เป็น JSON เช่น {"data": {"url": " fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/c0.19.180.142/ … ", "ความสูง": 148, "ความสูง" : 117, "is_silhouette": false}}
GökhanBarış Aker

ฉันยังคงได้รับการตอบสนองเช่นเดียวกับในคำตอบของฉัน คุณสามารถลองใช้งานใน Graph Explorer บนนักพัฒนา Facebook ได้ที่ developers.facebook.com/tools/explorer ป้อน 'redbull / picture? width = 140 & height = 110' และดูคำตอบ คำตอบของฉันถือว่าคุณกำลังโทรหาสิ่งนี้โดยใช้หนึ่งใน API SDK ของ Facebook / วิธีการร้องขอซึ่งจะส่งคืนการตอบสนอง JSON
Gunnar Karlsson

2
@GunnarKarlsson คุณหายไป&redirect=falseเพื่อส่งคืนข้อมูล JSON แทนที่จะเปลี่ยนเส้นทางไปยังรูปภาพ
andrewtweber

@ andrewtweber ขอบคุณมาก ฉันได้เพิ่มคำอธิบายให้กับคำตอบแล้ว
Gunnar Karlsson

3
มันคือเดือนกรกฎาคม 2558 และสิ่งนี้ใช้ไม่ได้อีกต่อไป (ข้อผิดพลาด: "ไม่สามารถสอบถามผู้ใช้ด้วยชื่อผู้ใช้")
Flimm

20

ในการรับ URL ภาพไม่ใช่เนื้อหาไบนารี:

$url = "http://graph.facebook.com/$fbId/picture?type=$size";

$headers = get_headers($url, 1);

if( isset($headers['Location']) )
    echo $headers['Location']; // string
else
    echo "ERROR";

คุณต้องใช้ FACEBOOK ID ไม่ใช่ชื่อผู้ใช้ คุณจะได้รับ id Facebook ของคุณที่นั่น:

http://findmyfbid.com/


1
มันคือเดือนกรกฎาคม 2558 และสิ่งนี้ใช้งานไม่ได้อีกแล้ว (ข้อผิดพลาด: "ไม่สามารถสืบค้นผู้ใช้ด้วยชื่อผู้ใช้")
Flimm

3
คุณได้รับมันผิดทั้งหมดเพื่อน :) มันเป็นรหัส Facebook ของคุณไม่ใช่ชื่อผู้ใช้findmyfbid.com
NaturalBornCamper

1
ที่สุดของที่นี่ มันบ้าแน่นอนฉันพยายามรับข้อมูลในร่างกายแล้วข้อมูลจะปรากฏในส่วนหัว @. @
Davuz

19

รหัสบรรทัดเดียวอย่างง่ายเพื่อบันทึกภาพโปรไฟล์ขนาดเต็มบนเซิร์ฟเวอร์ของคุณ

<?php

copy("https://graph.facebook.com/FACEBOOKID/picture?width=9999&height=9999", "picture.jpg");

?>

สิ่งนี้จะใช้งานได้เมื่อเปิดใช้งาน openssl ใน php.ini


มันคือเดือนกรกฎาคม 2558 และสิ่งนี้ใช้งานไม่ได้อีกแล้ว (ข้อผิดพลาด: "ไม่สามารถสืบค้นผู้ใช้ด้วยชื่อผู้ใช้")
Flimm

ใช่การโทร v1.0 จะหยุดทำงานหลังจาก 30 เมษายน 2558 คุณไม่สามารถรับ ID เฉพาะแอปพลิเคชันได้เว้นแต่ผู้ใช้จะอนุญาตแอปของคุณ
Armand

10

เพิ่มสิ่งนี้เป็นความคิดเห็นในคำตอบที่ยอมรับ แต่รู้สึกว่าสมควรได้รับคำอธิบายที่ยาวกว่านี้ เริ่มประมาณเดือนเมษายน 2015 อาจจะมีการยกขึ้นสองสามครั้ง

ตั้งแต่ V2 ของกราฟ api คำตอบที่ยอมรับไม่สามารถใช้งานได้อีกต่อไปโดยใช้ชื่อผู้ใช้ ดังนั้นตอนนี้คุณต้องมีรหัสผู้ใช้ก่อนและคุณไม่สามารถใช้ชื่อผู้ใช้เพื่อรับสิ่งนี้ได้อีก เพื่อให้เกิดความซับซ้อนมากขึ้นด้วยเหตุผลความเป็นส่วนตัวตอนนี้ Facebook กำลังเปลี่ยนหมายเลขผู้ใช้ต่อแอพ (ดูhttps://developers.facebook.com/docs/graph-api/reference/v2.2/user/และhttps: //developers.facebook .com / docs / แอป / การอัพเกรด / # upgrade_v2_0_user_ids ) ดังนั้นคุณจะต้องมีการรับรองความถูกต้องบางอย่างเพื่อดึงหมายเลขผู้ใช้ที่คุณสามารถใช้ได้ เทคนิครูปโปรไฟล์ยังคงเป็นสาธารณะและมีให้ที่ / userid / รูปภาพ (ดูเอกสารที่https://developers.facebook.com/docs/graph-api/reference/v2.0/user/pictureและผู้ใช้ตัวอย่างนี้: http: //graph.facebook.com/v2.2/4/picture?redirect=0) อย่างไรก็ตามการค้นหาหมายเลขผู้ใช้มาตรฐานของผู้ใช้ดูเหมือนจะเป็นไปไม่ได้โดยอิงจากโปรไฟล์ของพวกเขา - แอพของคุณจะต้องให้พวกเขาอนุมัติการโต้ตอบกับแอพซึ่งสำหรับกรณีการใช้งานของฉัน (แค่แสดงรูปโปรไฟล์ถัดจากลิงก์โปรไฟล์ FB)

หากมีคนหาวิธีที่จะได้รับรูปโปรไฟล์ตามชื่อผู้ใช้หรืออีกวิธีหนึ่งที่จะได้รับหมายเลขผู้ใช้ (แม้กระทั่งสลับ) เพื่อใช้ในการดึงรูปโปรไฟล์โปรดแบ่งปัน! ในระหว่างนี้ URL กราฟเก่ายังคงใช้งานได้จนถึงเมษายน 2015


9

วิธีหนึ่งคือใช้รหัสGamlet ที่โพสต์ในคำตอบของเขา:

  • บันทึกเป็น curl.php

  • จากนั้นในไฟล์ของคุณ:

    require 'curl.php';
    
    $photo="https://graph.facebook.com/me/picture?access_token=" . $session['access_token'];
    $sample = new sfFacebookPhoto;
    $thephotoURL = $sample->getRealUrl($photo);
    echo $thephotoURL;

ฉันคิดว่าฉันจะโพสต์นี้เพราะมันเอาฉันบิตของเวลาที่จะคิดออกรายการส ... แม้ว่ารูปโปรไฟล์เป็นสาธารณะคุณยังคงต้องมีการเข้าถึง token ในการมีที่จะได้รับมันเมื่อคุณCurlมัน


8

มีวิธีการทำเช่นนั้น;)

ขอขอบคุณที่ " http://it.toolbox.com/wiki/index.php/Use_curl_from_PHP_-_processing_response_headers ":

<?php

    /**
     * Facebook user photo downloader
     */

    class sfFacebookPhoto {

        private $useragent = 'Loximi sfFacebookPhoto PHP5 (cURL)';
        private $curl = null;
        private $response_meta_info = array();
        private $header = array(
                "Accept-Encoding: gzip,deflate",
                "Accept-Charset: utf-8;q=0.7,*;q=0.7",
                "Connection: close"
            );

        public function __construct() {
            $this->curl = curl_init();
            register_shutdown_function(array($this, 'shutdown'));
        }

        /**
         * Get the real URL for the picture to use after
         */
        public function getRealUrl($photoLink) {
            curl_setopt($this->curl, CURLOPT_HTTPHEADER, $this->header);
            curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, false);
            curl_setopt($this->curl, CURLOPT_HEADER, false);
            curl_setopt($this->curl, CURLOPT_USERAGENT, $this->useragent);
            curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($this->curl, CURLOPT_TIMEOUT, 15);
            curl_setopt($this->curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
            curl_setopt($this->curl, CURLOPT_URL, $photoLink);

            //This assumes your code is into a class method, and
            //uses $this->readHeader as the callback function.
            curl_setopt($this->curl, CURLOPT_HEADERFUNCTION, array(&$this, 'readHeader'));
            $response = curl_exec($this->curl);
            if (!curl_errno($this->curl)) {
                $info = curl_getinfo($this->curl);
                var_dump($info);
                if ($info["http_code"] == 302) {
                    $headers = $this->getHeaders();
                    if (isset($headers['fileUrl'])) {
                        return $headers['fileUrl'];
                    }
                }
            }
            return false;
        }


        /**
         * Download Facebook user photo
         *
         */
        public function download($fileName) {
            curl_setopt($this->curl, CURLOPT_HTTPHEADER, $this->header);
            curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($this->curl, CURLOPT_HEADER, false);
            curl_setopt($this->curl, CURLOPT_USERAGENT, $this->useragent);
            curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($this->curl, CURLOPT_TIMEOUT, 15);
            curl_setopt($this->curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
            curl_setopt($this->curl, CURLOPT_URL, $fileName);
            $response = curl_exec($this->curl);
            $return = false;
            if (!curl_errno($this->curl)) {
                $parts = explode('.', $fileName);
                $ext = array_pop($parts);
                $return = sfConfig::get('sf_upload_dir') . '/tmp/' . uniqid('fbphoto') . '.' . $ext;
                file_put_contents($return, $response);
            }
            return $return;
        }

        /**
         * cURL callback function for reading and processing headers.
         * Override this for your needs.
         *
         * @param object $ch
         * @param string $header
         * @return integer
         */
        private function readHeader($ch, $header) {

            //Extracting example data: filename from header field Content-Disposition
            $filename = $this->extractCustomHeader('Location: ', '\n', $header);
            if ($filename) {
                $this->response_meta_info['fileUrl'] = trim($filename);
            }
            return strlen($header);
        }

        private function extractCustomHeader($start, $end, $header) {
            $pattern = '/'. $start .'(.*?)'. $end .'/';
            if (preg_match($pattern, $header, $result)) {
                return $result[1];
            }
            else {
                return false;
            }
        }

        public function getHeaders() {
            return $this->response_meta_info;
        }

        /**
         * Cleanup resources
         */
        public function shutdown() {
            if($this->curl) {
                curl_close($this->curl);
            }
        }
    }

8

วิธีการทำงานของ PHP (HTTP GET) ทางออกตั้งแต่เดือนเมษายน 2558 (ไม่มี PHP 5 SDK):

function get_facebook_user_avatar($fbId){
        $json = file_get_contents('https://graph.facebook.com/v2.5/'.$fbId.'/picture?type=large&redirect=false');
        $picture = json_decode($json, true);
        return $picture['data']['url'];
}

คุณสามารถเปลี่ยน 'type' ใน parametr:

สแควร์:

ความกว้างและความสูงสูงสุด 50 พิกเซล

เล็ก

ความกว้างสูงสุด 50 พิกเซลและความสูงสูงสุด 150 พิกเซล

ปกติ

ความกว้างสูงสุด 100 พิกเซลและความสูงสูงสุด 300 พิกเซล

ใหญ่

ความกว้างสูงสุด 200 พิกเซลและความสูงสูงสุด 600 พิกเซล


7

ฉันคิดว่า - IDอาจจะเป็นเครื่องมือที่มีประโยชน์ ทุกครั้งที่ผู้ใช้สร้างบัญชีใหม่ควรได้รับ ID ที่สูงขึ้น ฉัน googled และพบว่ามีวิธีการประมาณวันที่สร้างบัญชีด้วย ID และ Massoud Seifi จาก metadatascience.com รวบรวมข้อมูลที่ดีเกี่ยวกับเรื่องนี้

ป้อนคำอธิบายภาพที่นี่

อ่านบทความนี้:

http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/

และนี่คือรหัสที่จะดาวน์โหลด:

http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/


1
คำถามนี้จะตอบคำถามได้อย่างไร
Flimm

6

โพสต์บล็อกคว้ารูปภาพของวัตถุกราฟ Facebookอาจเสนอวิธีการแก้ปัญหารูปแบบอื่น ใช้รหัสในบทช่วยสอนพร้อมกับกราฟ APIของ Facebook และไลบรารี PHP SDK

... และพยายามอย่าใช้file_get_contents (เว้นแต่คุณพร้อมที่จะเผชิญกับผลที่ตามมา - ดูที่file_get_contents vs curl )


4

คุณมีความกังวลเกี่ยวกับขนาดภาพโปรไฟล์หรือไม่ ในช่วงเวลาของการดำเนินการเข้าสู่ระบบด้วย Facebook โดยใช้ PHP เราจะแสดงวิธีง่าย ๆ ในการรับภาพโปรไฟล์ขนาดใหญ่ใน Facebook PHP SDK นอกจากนี้คุณยังสามารถรับภาพขนาดที่กำหนดเองของโปรไฟล์ Facebook

ตั้งค่ามิติภาพโปรไฟล์โดยใช้บรรทัดของรหัสต่อไปนี้

$ userProfile = $ facebook-> api ('/ me? field = picture.width (400) .height (400)');

ตรวจสอบโพสต์นี้: http: //www.codexworld.com/how-to-guides/get-large-size-profile-picture-in-facebook-php-sdk/


3

@NaturalBornCamper,

รหัสที่ดี! นี่คือฟังก์ชั่นรหัสที่สมบูรณ์แบบสำหรับกระบวนการดังกล่าว!

function get_raw_facebook_avatar_url($uid)
{
    $array = get_headers('https://graph.facebook.com/'.$uid.'/picture?type=large', 1);
    return (isset($array['Location']) ? $array['Location'] : FALSE);
}

นี่จะคืนURL ภาพอวาตาร์ดิบของ Facebook อย่าลังเลที่จะทำสิ่งที่คุณต้องการด้วยมัน!


3
URI  = https://graph.facebook.com/{}/picture?width=500'.format(uid)

คุณสามารถรับ URI ของโปรไฟล์ผ่านเครื่องมือค้นหา id Facebook ออนไลน์

นอกจากนี้คุณยังสามารถส่ง Param ประเภทที่มีค่าที่เป็นไปได้เล็ก, ปกติ, ใหญ่, สี่เหลี่ยม

อ้างถึงเอกสารทางการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.