สมัครสมาชิก ลงชื่อเข้าใช้
Discuz Thai หน้าแรก

โปรไฟล์ของ destines https://discuzthai.com/?37997 [บุ๊คมาร์ก] [คัดลอก] [แชร์] [RSS]

บล็อก

เทคนิค php ดึงข้อมูล comment จาก facebook มาใช้งาน

เข้าชม/อ่าน 1148 ครั้ง2011-6-11 21:19

เทคนิค php ดึงข้อมูล comment จาก facebook มาใช้งาน

ตัวอย่างโค้ดต่อไปนี้เป็นเทคนิคการ ดึงข้อมูลจาก facebook มาใช้งาน โดยสามารถกำหนดรูปแบบ ข้อมูลที่ต้องการ ได้ทั้งไฟล์ xml หรือ json
ซึ่งในที่นี้จะเป็นการดึงข้อมูลเป็น xml แล้วใช้ฟังก์ชัน php แปลงเป็น array ไว้ใช้งาน

อ่านวิธีการใช้ฟังก์ชัน php แปลง xml เป็น array
http://www.ninenik.com/ดึงค่า_ข้อมูล_จาก_xml_ไฟล์_มากำหนดเป็นตัวแปร_array_ด้วย_php-281.html

อ่านวิธี สร้าง comment ด้วย social plugins ใน facebook api
http://www.ninenik.com/สร้าง_comment_ด้วย_social_plugins_ใน_facebook_api_อย่างง่ายดาย-291.html

โค้ดตัวอย่าง

    <?php 
    function objectsIntoArray($arrObjData, $arrSkipIndices = array()) 
    { 
        $arrData = array(); 
         
        // if input is object, convert into array 
        if (is_object($arrObjData)) { 
            $arrObjData = get_object_vars($arrObjData); 
        } 
         
        if (is_array($arrObjData)) { 
            foreach ($arrObjData as $index => $value) { 
                if (is_object($value) || is_array($value)) { 
                    $value = objectsIntoArray($value, $arrSkipIndices); // recursive call 
                } 
                if (in_array($index, $arrSkipIndices)) { 
                    continue; 
                } 
                $arrData[$index] = $value; 
            } 
        } 
        return $arrData; 
    } 
     
    $typeFormat="xml"; // xml or json 
    $commentXID="0fdd585c77c41e220b47b99a2760fde8";  // xid ของ fb:comment 
    $api_keyFB="134358299911812"; // api key 
    $fbs_full="fbs_".$api_keyFB; 
    $fbs_token=explode("&",$_COOKIE[$fbs_full]); 
    $fbs_access_token=substr($fbs_token[0],2); 
    $commentURL="https://api.facebook.com/method/comments.get?xid="; 
    $commentURL.=$commentXID."&"; 
    $commentURL.=$fbs_access_token."&"; 
    $commentURL.="format=".$typeFormat; 
     
    // การใช้งาน 
    $xmlUrl = $commentURL; // XML ไฟล์   
    $xmlStr = file_get_contents($xmlUrl); 
    $xmlObj = simplexml_load_string($xmlStr); // สร้างเป็น xml object   
    $arrXml = objectsIntoArray($xmlObj); // แปลงค่า xml object เป็นตัวแปร array ใน php 
     
     
    // การนำค่าไปใช้ 
    echo "<pre>"; 
    print_r($arrXml); // เพื่อดูโครงสร้างของตัวแปร array 
    echo "</pre>"; 
     
    ?> 
นอกจากโค้ดข้างต้น สามารถใช้คำสั่ง fql คล้าย sql เพื่อดึงข้อมูลมาใช้งานได้เช่นกัน ตัวอย่าง

    <?php 
    function objectsIntoArray($arrObjData, $arrSkipIndices = array()) 
    { 
        $arrData = array(); 
         
        // if input is object, convert into array 
        if (is_object($arrObjData)) { 
            $arrObjData = get_object_vars($arrObjData); 
        } 
         
        if (is_array($arrObjData)) { 
            foreach ($arrObjData as $index => $value) { 
                if (is_object($value) || is_array($value)) { 
                    $value = objectsIntoArray($value, $arrSkipIndices); // recursive call 
                } 
                if (in_array($index, $arrSkipIndices)) { 
                    continue; 
                } 
                $arrData[$index] = $value; 
            } 
        } 
        return $arrData; 
    } 
     
     
    $typeFormat="xml"; // xml or json 
    $commentXID="0fdd585c77c41e220b47b99a2760fde8";  // xid ของ fb:comment 
    $api_keyFB="134358299911812"; // api key 
    //  field ของตาราง comment ดูได้ที่ 
    //  http://developers.facebook.com/docs/reference/fql/comment 
    $fql=urlencode("SELECT text FROM comment WHERE xid='".$commentXID."'"); // fql คล้าย sql 
    $fbs_full="fbs_".$api_keyFB; 
    $fbs_token=explode("&",$_COOKIE[$fbs_full]); 
    $fbs_access_token=substr($fbs_token[0],2); 
    $commentURL="https://api.facebook.com/method/fql.query?query="; 
    $commentURL.=$fql."&"; 
    $commentURL.=$fbs_access_token."&"; 
    $commentURL.="format=".$typeFormat; 
     
    // การใช้งาน 
    $xmlUrl = $commentURL; // XML ไฟล์   
    $xmlStr = file_get_contents($xmlUrl); 
    $xmlObj = simplexml_load_string($xmlStr); // สร้างเป็น xml object   
    $arrXml = objectsIntoArray($xmlObj); // แปลงค่า xml object เป็นตัวแปร array ใน php 
     
     
    // การนำค่าไปใช้ 
    echo "<pre>"; 
    print_r($arrXml); // เพื่อดูโครงสร้างของตัวแปร array 
    echo "</pre>"; 
     
    ?> 
สามารถประยุกต์ใช้กับการใช้งานส่วนอื่นๆ ได้ เช่น การดึงรายชื่อเพื่อน ใน facebook , การดึงรูปใน album
เป็นต้น

รวมทั้งสามารถนำค่าที่ได้ไปบันทึกในฐานข้อมูล หรือนำมาประยุกต์แสดงข้อมูลในรูปแบบที่ต้องการ

หมายเหตุ:  การจะเข้าถึงข้อมูลได้ จำเป็นต้อง login เข้าระบบ facebook ก่อนเ ถึงจะสามารถดึงข้อมูลได้

credit : ninenik   

อืม..ดีๆ ใช้ได้

อะไรก็ไม่รู้

เห็นด้วยๆ

ซึ้งจังเลย

ขำฮาตรึม

ความคิดเห็น (0 ความคิดเห็น)

facelist doodle วาดภาพ

คุณต้องลงชื่อเข้าใช้ก่อนจึงจะสามารถแสดงความคิดเห็นได้ ลงชื่อเข้าใช้ | สมัครสมาชิก

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-5-2 06:21

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ขึ้นไปด้านบน