รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

การใช้ graph api ใน facebook เรียกใช้งาน php sdk แบบระบุส่วนของข้อมูล

    การระบุเฉพาะส่วนของข้อมูลที่ต้องการแสดง ในการใช้ graph api ซึ่งโดยปกติ เมื่อเราเรียกใช้งาน เช่น  

    $testData=$facebook->api("/me");  
    pre($testData);  
     
    ก็จะแสดงข้อมูลทั้งหมดที่สามารถดู หรืออนุญาตให้แสดงได้ ตัวอย่าง
     
    Array  
    (  
        [id] => 1234998873  
        [name] => softmelt 
        [first_name] => softmelt
        [last_name] => softmelt
        [link] => http://www.facebook.com/softmelt
        [gender] => ชาย  
        [timezone] => 7  
        [locale] => en_US  
        [verified] => 1  
        [updated_time] => 2010-10-05T16:41:19+0000  
    )  
     
    จากตัวอย่าง ผลลัพธ์ เราสามารถ ที่จะระบุเฉพาะส่วนของ ข้อมูลที่ต้องการแสดง ได้ เช่น ต้องการแสดงเฉพาะ
    id,name และก็ link (แต่ละ user อาจมีในส่วนอื่นๆ ไม่ครบ) เราสามารถกำหนดได้ โดยการส่งค่าคิวรี่ต่อท้าย ด้วยฟิลด์
    ของข้อมูลที่ต้องการแสดง ในที่นี้คือ ?fields=id,name,link  ก็จะได้เป็น
     
    $testDat=$facebook->api("/me?fields=id,name,link");  
    pre($testData);  
    ข้อมูลที่แสดงก็จะได้เป็น
     
    Array  
    (  
        [id] => 1234998873  
        [name] => softmelt
        [link] => http://www.facebook.com/softmelt
    )  
     
    การแสดงข้อมูลเบื้องต้น ของ  object ใน graph api พร้อมกันหลายค่า ตัวอย่าง ต้องการแสดงข้อมูลเบื้องต้น ของคุณ Bret Taylor และของผู้เขียน พร้อมกัน สามารถทำได้ดังนี้
     
    $testData=$facebook->api("/?ids=me,btaylor");  
    pre($testData);  
     
    สามารถุกำหนดเป็นชื่อ หรือ id แทนได้เช่น
     
    $testData=$facebook->api("/?ids=1234998873,220439");  
    pre($testData);  
     
    การใช้งานข้อมูลที่ส่งกลับ ต้องใช้งานเป็น array แบบมิติ ตัวอย่าง ต้องการทราบ id ของคุณ Bret Taylor ก็ใช้เป็น
      
    echo $testData['btaylor']['id'];  
     
    นอกจากนี้ยังสามารถกำหนดเป็น url เพื่อดู id object ของ graph api เช่น
     
    การแสดงส่วนของ connections ทั้งหมดของ object รวมทั้งรายละเอียดชื่อฟิลด์ และคำอธิบาย ของ object เพื่อเป็นข้อมูลสำหรับทำความเข้าใจ หรือใช้งานต่อไป สามารถทำได้โดยการส่งค่าคิวรี่ต่อท้าย เป็น ?metadata=1 ตัวอย่าง
     
    $testData=$facebook->api("/me?metadata=1");  
    pre($testData);  
     
    ตัวอย่างโค้ดสำหรับทดสอบ
    <?php  
    session_start(); // กำหนดไว้ กรณีอาจได้ใช้ตัวแปร session  
    include("facebook.php"); //  เรียกใช้งานไฟล์ php-sdk สำหรับ facebook  
      
    // สร้าง Application instance.  
    $facebook = new facebook(array(  
      'appId'  => 'xxxxxxxxxxxxxxx', // appid ที่ได้จาก facebook  
      'secret' => 'xxxxxxxxxxxxxxxxxxx', // app secret ที่ได้จาก facebook  
      'cookie' => true, // อนุญาตใช้งาน cookie  
    ));  
     
    // ตรวจสอบสถานะการ login  
    $session = $facebook->getSession();  
      
    // สร้างฟังก์ชันไว้สำหรัดทดสอบ การแสดงผลการใช้งาน  
    function pre($varUse){  
        echo "<pre>";  
        print_r($varUse);  
        echo "</pre>";  
    }  
    // สร้างตัวแปรสำหรับเก็บข้อมูลของสมาชิกเมื่อได้ทำการ login แล้ว  
    $me = null;   
      
    // ถ้ามีการ login ดึงข้อมูลสมาชิกที่ login มาเก็บที่ตัวแปร $me เป็น array  
    if($session){  
        try{  
            $uid = $facebook->getUser(); // เก็บ id ของผู้ใช้ไว้ที่ตัวแปร $uid กรณีมีการล็อกอิน facebook อยู่  
            $me = $facebook->api('/me'); // ดึงข้อมูลผู้ใช้ปัจจุบันทีล็อกอิน facebook มาเก็บในตัวแปร $me  
        }catch (FacebookApiException $e) { // กรณีเกิดข้อผิดพลากแสดงผลลัพธ์ข้อผิดพลาดที่เกิดขึ้น  
            error_log($e);  
        }  
    }  
    ?>  
     
    <?php  
    ////////////////////////////////////////////////////////////////////////////////  
    ///       ส่วนของการใช้งาน  
    ///////////////////////////////////////////////////////////////////////////////////  
    if(isset($_GET['logout'])){ // ทำการ logout อย่างสมบูรณ์  
        $facebook->setSession(null);     // ล่างค่า session ของ facebook  
        header("Location:".$_SERVER['PHP_SELF']); //ลิ้งค์ไปหน้าที่ต้องการเมื่อ logout เรียบร้อยแล้ว  
    }  
    if($me){ // กรณีเงื่อน login อยู่  
    // เก็บค่า url ไว้ในตัวแปร $logoutUrl สำหรับ logout กรณีที่ได้ทำการ login อยู่  
    //  $logoutUrl = $facebook->getLogoutUrl(); // การกำหนดแบบปกติ  
    // การกำหนดแบบปกติ ค่า session ของ facebook ยังคงอยู่ แนะนำเป็นวิธีด้านล่าง  
      
    //   next คือ url ที่ต้องการลิ้งค์ไป เมื่อ logout แล้ว ในที่นี้กำหนด เป็น url ปัจจุบัน   
    //   แต่เพิ่มตัวแปร get ชื่อ logout เพื่อกลับมาเข้าเงื่อนไข ทำลาย session ของ facebook  
        $logoutUrl = $facebook->getLogoutUrl(  
            array(  
                'next'=>'http://www.softmelt.com/fb/facebook_use_sdk2.php?logout'  
            )  
        );   
        
    }else{  // กรณีเงื่อนไข logout  
    // เก็บค่า url ไว้ในตัวแปร $loginUrl สำหรับ login กรณีที่ยังไม่ได้ login  
    //  $loginUrl = $facebook->getLoginUrl();  // กำหนด url กรณีใช้งานปกติ  
       
    //  กำหนด url สำหรับ login กรณีเพิ่มเติมพิเศษ  
    //  next: คือ url ที่้ต้องการใช้ลิ้งค์ไป เมื่อ login สำเร็จ  
    //  cancel_url: คือ url ที่้ต้องการใช้ลิ้งค์ไป เมื่อ ผู้ใช้ยกเลิกการ login  
    //  req_perms: กำหนด การร้องขอส่วนของ permission เพิ่มเติมที่ต้องการให้ผู้ใช้อนุญาต  
    //  ดูได้จาก http://developers.facebook.com/docs/authentication/permissions  
    //  display:  รูปแบบหน้า login ที่ต้องการแสดง ปกติค่าจะเป็น page ถ้าไม่ได้กำหนด   
    //  จะเป็นหน้า เพจ login ของ facebook ปกติ  
    //  การกำหนดแบบ popup จะมีปุ่ม cancel ให้เลือก และใช้กับ cancel_url แนะนำให้ใช้เป็น popup  
       $loginUrl = $facebook->getLoginUrl(  
            array(  
                'next'=>'http://www.softmelt.com/fb/facebook_use_sdk2.php',  
                'cancel_url'=>'http://www.softmelt.com/fb/facebook_use_sdk2.php',  
                'req_perms'=>'offline_access,user_photos', // คั่นแต่ละค่าด้วย ,(comma)  
                'display'=>'popup'    // page หรือ popup       
            )  
       );  
    }  
    ?>  
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml"  
     xmlns:fb="http://www.facebook.com/2008/fbml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <title>facebook use php sdk use graph api more</title>  
    </head>  
      
    <body>  
      
    <a href="<?=$_SERVER['PHP_SELF']?>">Reload</a>  
    <br />  
    <?php if($me){ ?>  
    <a href="<?=$logoutUrl?>">Facebook Logout</a>  
    <?php }else{ ?>  
    <a href="<?=$loginUrl?>">กรุณาล็อกอินเพื่อดูตัวอย่างผลลัพธ์ Facebook Login</a>  
    <?php } ?>  
      
    <?php  
    //  $testData=$facebook->api("/me");  
    //  pre($testData);  
    //  $testData=$facebook->api("/me?fields=id,name,picture");  
    //  pre($testData);  
    //  $testData=$facebook->api("/?ids=me,btaylor");  
    //  pre($testData);  
    //  $testData=$facebook->api("/?ids=7901103,9074");  
    //  pre($testData);  
    //  $testData=$facebook->api("/?ids=http://www.softmelt.com");  
    //  pre($testData);  
        $testData=$facebook->api("/me?metadata=1");  
        pre($testData);  
      
    ?>  
      
    </body>  
    </html>  

     

บทความที่น่าสนใจ

บทความ ล่าสุด

บทความ ความรู้ด้านไอที, คอมพิวเตอร์ Techonlogy, Gadget, ความรู้เกี่ยวกับคอมพิวเตอร์ กับทาง SoftMelt.com