2016-03-30 85 views
0

我试图从facebook页面获取最新的facebook帖子。我正在使用facebook php SDK v4https://github.com/facebook/facebook-php-sdk-v4/)。从facebook页面获取最新帖子(feed)

我已将库(php sdk)添加到作曲家:composer require facebook/php-sdk-v4。我的appid/app秘密和页面ID是正确的。

$config = array(); 
$config['app_id'] = 'myappid'; 
$config['app_secret'] = 'myappsecret'; 

$facebook = new \Facebook\Facebook($config); 

$pageid = 'mypageid'; 

try { 

    $pagefeed = $facebook->api("/" . $pageid . "/feed"); 
} 
catch(Exception $ex){ 
    echo $ex->getMessage(); die; 
} 

的问题是,我发现了错误调用未定义的方法的Facebook \ Facebook的API ::()。当我在网上搜索其他主题时,他们已经使用了很多。但是我做错了什么?

+1

就我所见,'api'不是任何Facebook PHP文件中的函数。嗯。你尝试过使用'$ facebook-> get()'函数吗? – pxgamer

+0

是的,没有API方法,只是获取和发布方法。看看这里https://www.sammyk.me/upgrading-the-facebook-php-sdk-from-v4-to-v5) – KubiRoazhon

+0

这实际上是SDK的v5(请参阅github上的自述文件,他们只是保持旧版网址).v4确实有'api'方法,但在v5中它已被删除。你应该总是先阅读官方文档:https://developers.facebook.com/docs/php/api/5.0.0 – CBroe

回答

0

按照docs你可以用下面的代码获得一个换页:

$request = new FacebookRequest(
    $fbApp, 
    '{access-token}', 
    'GET', 
    '/{page-id}/feed' 
); 
$response = $request->execute(); 
$graphObject = $response->getGraphObject(); 
/* handle the result */ 

来源https://developers.facebook.com/docs/graph-api/reference/v2.5/page/feed

注意,在该页面的默认实例的HTTP版本,而不是PHP SDK。

编辑:为FacebookRequest功能添加了正确的参数。

需要访问令牌和$app实例,如下所示。

Facebook\FacebookRequest($fbApp, '{access-token}', 'GET', '/{page-id}/feed'); 

访问令牌可以使用getAccessToken()函数创建,如下所示。

$access_token = $facebook->getAccessToken(); 
$facebook->setAccessToken($access_token); 

API的V4使用的可以在这里找到一个会议系统: https://developers.facebook.com/docs/php/FacebookSession/4.0.0

创建一个Facebook会话变量,然后你就可以在原来v4的请求方法使用$session

$request = new FacebookRequest(
    $session, 
    'GET', 
    '/{page-id}/feed' 
); 
$response = $request->execute(); 
$graphObject = $response->getGraphObject(); 
/* handle the result */ 
+0

什么是$ session变量? – nielsv

+0

对不起。在API的v5中显然已删除'$ session'。我已更新它以包含最新的版本信息。如果你没有从v4 Github链接更新到v5 API,你可以使用底部的信息:) – pxgamer

+0

感谢您的信息,但$ fbApp变量是什么?我怎样才能得到acces令牌? – nielsv

相关问题