如何通过PHP获取Facebook页面ID?

时间:2011-05-17 20:41:00

标签: php facebook facebook-page

假设我有一个facebook页面链接http://facebook.com/page_name而我不是该页面的管理员。是否有可能找到Facebook的ID,页面的个人资料和粉丝数?

谢谢!

3 个答案:

答案 0 :(得分:3)

FB id和一些信息:是的。请参阅Graph API docs

修改 一些从我的应用中获取ID的代码:

$arg = $_REQUEST['arg'];
if ($arg != ''){

        $arg = str_replace(
                array('http://','www.','facebook.com/','/'),
                '',
                $arg
        );

        $elseID = file_get_contents('https://graph.facebook.com/?ids='.$arg.'&fields=id');
        $elseID = json_decode($elseID,true);
        $elseID = $elseID[$arg]['id'];
}

答案 1 :(得分:3)

通常,您可以执行http://graph.facebook.com/ {page_name}并获得相应的结果。例如,百事可乐位于http://www.facebook.com/pepsi,您可以在https://graph.facebook.com/pepsi看到图表API结果。

答案 2 :(得分:0)

您可以使用Facebook SDK for PHP https://github.com/facebook/php-graph-sdk

在我的解决方案之下

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;

$pageUrl = 'some_url';  
      FacebookSession::setDefaultApplication('facebookAppId','facebookAppSecret');
    //getting session
    $Session = FacebookSession::newAppSession();
    try
    {
      //validating if session is correct
      $Session->validate();
      //sending request
      $Request = new FacebookRequest($Session, 'GET', '/',
                                      array (
                                        'id' => $pageUrl,
                                      )
                                    );
      $Response = $Request->execute();
      //getting UserGraph object
      $UserObject = $Response->getGraphObject(GraphUser::className());
      //return page id
      return $UserObject->GetId();
    }
    catch (FacebookRequestException $ex)
    {}
    catch (Exception $ex)
    {}