Php 如何检查facebook页面是否存在?

Php 如何检查facebook页面是否存在?,php,facebook,Php,Facebook,如何使用php检查facebook页面、组或个人是否存在 Robert您需要用户/组的facebook\u id或url。 然后使用curl,您可以查找返回的状态代码。 404意味着,它不存在 您需要用户/组的facebook id或url。 然后使用curl,您可以查找返回的状态代码。 404意味着,它不存在 尝试使用Facebook API(https://developers.facebook.com/docs/reference/php/) 如果不存在,facebook返回false 有

如何使用php检查facebook页面、组或个人是否存在


Robert

您需要用户/组的facebook\u id或url。 然后使用curl,您可以查找返回的状态代码。 404意味着,它不存在


您需要用户/组的facebook id或url。 然后使用curl,您可以查找返回的状态代码。 404意味着,它不存在

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

如果不存在,facebook返回
false

有关示例URL的列表,请参见(https://developers.facebook.com/docs/reference/php/)

如果不存在,facebook返回
false


有关当前示例URL的列表,请参见。如果您访问的是不存在的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!
}

当前,如果您访问一个不存在的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!
}

Facebook不支持
file\u-get\u-contents
cUrl
,正如
Dainis-Abols
所说的那样

该代码对于其他网站检查是否存在任何内容非常有用。但Facebook与其他网站大不相同



Facebook不支持
file\u-get\u-contents
cUrl
,正如
Dainis-Abols
所说的那样

该代码对于其他网站检查是否存在任何内容非常有用。但Facebook与其他网站大不相同



好的,感谢加布里埃尔·桑托斯和杰夫,这就是我的结局:

// 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;
}

再次感谢你们的帮助:)

好的,谢谢加布里埃尔·桑托斯和杰夫,这就是我的结局:

// 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;
}


再次感谢你们的帮助:)

在你们的问题中,也许更愿意问“我如何检查…?”。在你们的问题中,也许更愿意问“我如何检查…?”。我试过了,但facebook有一个页面显示“你请求的页面未找到…”,并且没有给出404代码。我试过了,但facebook有一个页面显示“找不到您请求的页面…”这并没有给出404代码。谢谢Gabriel,这很有效,但当页面、个人或组不存在时,我会收到以下错误:“致命错误:未捕获的OAutheException:(#803)您请求的一些别名不存在:HREHERE在第1106行的base_facebook.php中抛出“。当$facebook->api('PAGEID或USERID')时,我如何抑制这种情况以显示我自己的错误?”;返回false?@RobertH我不太清楚,您需要阅读文档。Try-Catch有效,谢谢。你们知道我如何限制它,并检查输入的页面是否是组或页面,而不是个人页面。因为我正在使用结果输出一个like框,如果它是一个个人页面,它就不起作用了。谢谢你们的帮助,我用你们的输入回答了它。谢谢,谢谢Gabriel Santos,有没有办法使用Facebook令牌/访问令牌来查找结果?谢谢Gabriel,这很有效,但是当页面、个人或组不存在时,我会出现以下错误:“致命错误:未捕获的OAutheException:(#803)您请求的一些别名不存在:HREHERE在1106行的base_Facebook.php中抛出”。当$facebook->api('PAGEID或USERID')时,如何抑制这种情况,以便显示我自己的错误;返回false?@RobertH我不太清楚,您需要阅读文档。Try-Catch有效,谢谢。你们知道我如何限制它,并检查输入的页面是否是组或页面,而不是个人页面。因为我正在使用结果输出一个like框,如果它是一个个人页面,它就不起作用了。谢谢你们的帮助,我用你们的输入回答了它。谢谢,谢谢Gabriel Santos,有没有办法使用Facebook代币/访问代币找到结果?欢迎来到StackOverflow Radhakrishna Chowdary!很高兴看到你第一次帮助人们=)事实上,如果你试图卷曲网页,你可能会得到302重定向到。不过,您仍然可以通过使用接受的
用户代理
头设置cURL请求来绕过此Facebook过滤器。欢迎使用StackOverflow Radhakrishna Chowdary!很高兴看到你第一次帮助人们=)事实上,如果你试图卷曲网页,你可能会得到302重定向到。尽管如此,您仍然可以通过使用接受的
用户代理
头设置cURL请求来绕过此Facebook筛选器。您始终可以创建一个数组并使用foreach检查每个值。您不应该改为检查HTTP代码404吗?更多reliable@ArturoTorresS桑切斯这篇文章已经有3年的历史了。我不知道FB现在给你发送了什么类型的响应,但当时没有404消息代码。仍然没有404代码。。。我只在极少数情况下得到一个。您总是可以创建一个数组并使用foreach检查每个值。您不应该检查HTTP代码404吗?更多reliable@ArturoTorresS桑切斯这篇文章已经有3年的历史了。我不知道FB现在给你发送了什么类型的响应,但当时没有404消息代码。仍然没有404代码。。。我很少有机会得到一个为什么你不接受我的回答?我的回答准确地说出了你想要解决的问题-我没有完全使用你的答案,我使用了部分答案。我现在接受了你的答案,为什么你不接受我的答案?我的回答是什么