2012-07-05 31 views

回答

4

嘗試與Facebook API(https://developers.facebook.com/docs/reference/php/)

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

如果不存在,Facebook的回報false

樣品的URL列表,請參閱https://developers.facebook.com/docs/reference/api/

+0

謝謝加布裏埃爾,工作,但當頁面,人員或組不存在時,我得到此錯誤:「致命錯誤:未捕獲的OAuthException:(#803)您請求的某些別名不存在:hreherehere拋出第1106行的base_facebook.php「。我怎樣才能壓制這個,所以當我自己的錯誤顯示$ facebook-> api('PAGEID或USERID');返回false? – RobertH

+0

@RobertH我不確定,你需要閱讀文檔。 –

+1

如何使用Try-Catch? – Jeff

0

您將需要facebook_id或用戶/組的URL。 然後使用curl,你可以查找返回的狀態碼。 404意味着它不存在。

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

+0

我試過,但臉譜網有一個頁面,顯示「 您找不到頁面..」,並沒有給出404代碼。 – RobertH

2

目前,如果你訪問一個不存在的Facebook頁面,你得到這個消息:

The page you requested was not found. You may have clicked an expired link or mistyped the address. Some web addresses are case sensitive.

所以基本上你可以做:

$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! 
} 
+0

Facebook的錯誤頁面是不是本地化? – Jeff

+0

您可以隨時創建一個數組並使用foreach檢查每個值。 – Peon

+0

不應該檢查HTTP代碼404嗎?這是更可靠 –

2

的Facebook不支持file_get_contents或者cUrlDainis 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! 
} 
?> 
+1

歡迎來到StackOverflow Radhakrishna Chowdary!很高興看到你第一次幫助人們=) –

-2

好感謝加布裏埃爾·桑托斯和傑夫,這是我結束了:再次

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

感謝您的幫助球員:)

+1

爲什麼你不接受我的答案?我的回答正好說明你想要解決你的問題。 -1這種態度。 –

+0

好吧,我沒有完全使用你的答案,我用它的一部分。所以不需要給我-1我現在接受了你的答案 – RobertH

相關問題