phpを使用してFacebookページ、グループ、または人物が存在するかどうかを確認するにはどうすればよいですか?
ロバート
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/を参照してください。
現在、存在しないFacebookページにアクセスすると、次のメッセージが表示されます。
あなたが要求したページは見つかりませんでした。 期限切れのリンクをクリックしたか、アドレスを誤って入力した可能性があります。一部のWebアドレスでは、大文字と小文字が区別されます。
したがって、基本的には次のことができます。
$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_get_contents
またcUrl
はDainis Abols
言ったようにサポートしていません。
このコードは、他のWebサイトが存在するかどうかを確認するのに役立ちます。しかし、Facebookは他のWebサイトとはかなり異なります。
<?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! } ?>
ユーザー/グループのfacebook_idまたはurlが必要になります。次に、curlを使用して、返されたステータスコードを探すことができます。404は、存在しないことを意味します。
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;
}
助けてくれてありがとう:)