HTG.VN: Kênh quảng cáo và công cụ tìm kiếm HTG TRUYỀN THÔNG - QUẢNG CÁO - HƯNG THỊNH
LuatManhDuc.com - law.hungthinhgroup.net - smi
HTG.VN - Thuê tài - Thuê xe - BaThanh.Net
Thương Hiệu Doanh Nghiệp là cái tên dễ nhớ, gần gũi và Thương Hiệu là mục tiêu chung của các doanh nghiệp. Thương Hiệu Doanh Nghiệp là nơi hội tụ Thành công - Thịnh vượng - Phồn vinh của các doanh nghiệp. Thương Hiệu Doanh Nghiệp là nơi tôn vinh và khẳng định đẳng cấp thương hiệu của doanh nghiệp thương hiệu.

Sử dụng Facebook SDK để lấy Facebook Page ID

Trong bài viết hôm trước tôi đã tổng hợp một số cách đơn giản để lấy thông tin trang Facebook cá nhân, nhóm, fan page và Facebook Page ID dành cho người dùng thông thường và lập trình viên. Và hôm nay tôi sẽ sử dụng một cách khác để lấy Facebook ID cũng như thông tin của 1 page nào đó với Facebook SDK for PHP.

Đầu tiên các bạn download Facebook SDK tại GitHub.

Sau khi tải về và giải nén thì các bạn sẽ được các file và thư mục như sau

Files and Folders in Facebook SDK for PHP

Các bạn có thể làm tìm hiểu về cách lập trình với Facebook SDK qua những bài viết dưới đây

1, Tạo form nhập dữ liệu

Đầu tiên tôi sẽ tạo 1 form đơn giản để người dùng nhập đường dẫn chứa Facebook Page

<form action="" method="post" id="get_facebook_id_form">
    Enter your personal Facebook profile URL: <br />
    <input type="text" placeholder="http://www.facebook.com/YourProfileName" name="facebook_profile" size="50" id="get_facebook_page_input" value=""/>
    <input type="submit" name="Submit" value="Lookup numeric ID..."/>
</form>

Với đoạn code tạo form trên, các bạn cần chú ý 2 điểm. Đó là tôi sử dụng thuộc tính id=”get_facebook_id_form”  để validate form và thuộc tính value trong thẻ input thì tôi chèn biến $facebook_profile. Tôi sẽ giải thích ý nghĩa của biến $facebook_profile ở các mục dưới.

2, Validate form (Xác thực dữ liệu người dùng nhập vào)

Đối với 1 form bất kì thì lúc nào các bạn cũng phải validate (xác thực ) dữ liệu nhập vào. Nếu bạn là một lập trình viên  Web thì tôi nghĩ đây là một thói quen mà  bạn nên duy trì. Điều này sẽ giúp bảo mật trang web tốt hơn, đồng thời sẽ nâng cao sự chuyên nghiệp của bạn. Với phạm vi bài viết này, tôi sẽ sử dụng một số cách đơn giản với jQuery để validate form.

<script type="text/javascript">
    $(document).ready(function(){
        $('#get_facebook_id_form').submit(function(){
            var check = true;
            var facebook_link = $("#get_facebook_page_input").val();

            if(!$.trim(facebook_link).length) {
                alert("Please enter your personal Facebook profile URL.");
                check = false;
            }
            else if(!IsUrl(facebook_link)) {
                alert("Invalid URL. Please try again!");
                check = false;
            }

            return check;
        });
    })

    function IsUrl(s) {
        var regexp = /(ftp|http|https)://(w+:{0,1}w*@)?(S+)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?/
        return regexp.test(s);
    }
script>

3, Sử dụng Facebook SDK để lấy thông tin trang và Facebook Page ID

Việc sử dụng Facebook SDK để lấy thông tin Facebook Page chỉ là một tính năng nhỏ trong một bộ SDK lớn với rất nhiều hàm dùng để thực hiện các chức năng  khác nhau, đa dạng.

Sau khi đã có đường dẫn Facebook Page mà người dung nhập vào form thì tôi sẽ dùng Regular Expressions (biểu thức chính quy) để lọc lấy username/alias của trang đó và dùng hàm Facebook::api(/* polymorphic */) để lấy thông tin



    require 'facebook-php-sdk/src/facebook.php';

    if(isset($_POST['facebook_profile']) && !empty($_POST['facebook_profile'])) {
        $result = '';
        $facebook_profile = trim($_POST['facebook_profile']);

        //Get Page_ID
        if(strpos($facebook_profile, 'www.facebook.com/profile.php') !== false) {
            preg_match('/(?:(?:http|https)://)?(?:www.)?facebook.com/(?:(?:w)*#!/)?(?:pages/)?(?:[?w-]*/)?(?:profile.php?id=(?=d.*))?([w-]*)?/', $facebook_profile, $matches);
        }
        else {
            preg_match('/(?:https?://)?(?:www.)?facebook.com/(?:(?:w)*#!/)?(?:pages/)?(?:[w-]*/)*([w-.]*)/', $facebook_profile, $matches);
        }

        if(!empty($matches)) {
            $facebook_id = $matches[1];

            $facebook = new Facebook(array(
                'appId' => '344617158898614',
                'secret' => '6dc8ac871858b34798bc2488200e503d',
            ));

            try {

                $profile = $facebook->api('/' . $facebook_id);

                if(!empty($profile)) {
                    $result = $profile['id'];
                    $name = $profile['name'];
                }

            } catch(Exception $e){
                //Show error message
            }
        }
    }
?>

4, Hiển thị kết quả

Bước cuối cùng thì các bạn chỉ cần lựa chọn vị trí thích hợp để hiển thị kết quả cho người dùng


    if(isset($result)) {
        if(!empty($result))
            echo '
Success! If your name is '. $name .', then we found your numeric ID: '. $result .''
;
        else
            echo "
Unable to lookup Facebook numeric ID."
;
    }
?>

Và đây là kết quả demo nhận được

Demo How to get Facebook page ID

Hi vọng bài viết này sẽ giúp ích cho các bạn. Thân ái!

Chia sẻ Facebook



THÔNG TIN MỚI
HOẠT ĐỘNG KINH DOANH
QUẢNG CÁO - LIÊN KẾT
Võ Thuật


QUẢNG CÁO

0912 82 2628

CÔNG TY TNHH MTV THƯƠNG HIỆU VẬN TẢI BA THÀNH
Địa chỉ: 248/25 Bùi Thị Xuân, Q. Tân Bình, Tp. Hồ Chí Minh
Điện thoại: 08.6899.6850 & 08.6899.6846 - Hotline: 0912 82 2628
Email: info@thuonghieudoanhnghiep.vn
THƯƠNG HIỆU DOANH NGHIỆP