如何检查Facebook页面是否存在?

时间:2012-07-05 07:00:59

标签: php facebook

如何使用php检查Facebook页面,群组或人员是否存在?

罗伯特

5 个答案:

答案 0 :(得分:5)

尝试使用Facebook API(https://developers.facebook.com/docs/reference/php/)

$facebook->api('PAGEID or USERID here');

如果不存在,则Facebook返回false

请参阅https://developers.facebook.com/docs/reference/api/以获取示例网址列表

答案 1 :(得分:2)

目前,如果您访问不存在的Facebook页面,则会显示以下消息:

  

找不到您请求的页面。   您可能已点击过期链接或输错了地址。某些网址区分大小写。

所以基本上你可以做一个:

$page = file_get_contents( 'http://www.facebook.com/no_real_page' );
$pos = strrpos( $page, 'The page you requested was not found' );
if ( $pos === true ) {
  // non existing page!
}

但是要改变,消息可能会改变,然后你将不会得到该脚本的结果。所以最好把它放在一个你可以在以后轻松改变的地方:

# config.php
define ( FACEBOOK_ERROR, 'The page you requested was not found' );

# script.php
$page = file_get_contents( 'http://www.facebook.com/no_real_page' );
$pos = strrpos( $page, FACEBOOK_ERROR );
if ( $pos === true ) {
  // non existing page!
}

答案 2 :(得分:2)

Facebook不支持file_get_contentscUrlDainis Abols表示。

该代码可用于其他网站检查是否存在任何内容。但Facebook与其他网站截然不同。

<?php
$page = file_get_contents('http://www.facebook.com/pages/Studentmug/349363763205');
$pos = strrpos( $page, 'The page you requested was not found' );
echo "$page";
if ( $pos === true ) {
  // non existing page!
}
?>

答案 3 :(得分:-1)

您需要用户/组的facebook_id或网址。 然后使用curl,您可以查找返回的状态代码。 404表示,它不存在。

http://php.net/manual/en/book.curl.php

答案 4 :(得分:-2)

好的,多亏了Gabriel Santos和Jeff,这就是我最终的目标:

// A function to check if a facebook page exists 
// and if its a personal or published page  
function CheckFB($fbexist) { // $fbexist is the pageID or userID
    require_once("include/facebook.php"); // Facebook php-sdk

                // Install and Initialize
    $config = array();
    $config['appId'] = 'APP_ID/KEY';
    $config['secret'] = 'APP_SECRET';

          // Create Facebook object
    $facebook = new Facebook($config);

    try {
        $facebook->api($fbexist);
        if (!$facebook->api($fbexist)) {  // if this returns false
            $personal = "No";       // it's not a personal page
        } else {                          // or group
            $personal = "Yes";
        }

    } catch(FacebookApiException $e) {           // If there is an exception
        $checked = array(false, $personal);// the page doesn't exist
        return $checked;
    }
          $checked = array(true, $personal);
    return $checked;
}

再次感谢您的帮助:)