facebook me / home不显示数据

时间:2014-02-12 20:02:26

标签: php facebook facebook-php-sdk

嘿所有我想要获得新闻源(家庭饲料),但这似乎不起作用:

<?php
require '../src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'XXXXXXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  'fileUpload' => true,
  'cookie' => true
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile   = $facebook->api('/me');
    $access_token = $facebook->getAccessToken();    
    $feed           = $facebook->api('/me/home?access_token=' . $access_token);
    print_r($feed);

etc etc....

如果我注释掉 $ feed 以及 print_r($ feed)行,那么它会正常工作并显示我的用户信息。但是,如果不加注释,似乎就会阻止它继续显示其他内容。

我也尝试过:

$feed           = $facebook->api('/me/home);

并且仍然没有产生任何结果。

对于我的应用中心权限,我已经设置了执行此操作所需的权限(read_stream)等。

我缺少什么?

enter image description here

2 个答案:

答案 0 :(得分:1)

似乎是因为我没有这个:

$statusUrl = $facebook->getLoginStatusUrl();
$params = array(
    'scope' => 'read_stream'
);

在我添加之后工作了! :O)

答案 1 :(得分:0)

我认为最好的选择是使用GRAPH API:

`$graphURL = https://graph.facebook.com/$current_user_id/home?access_token=$user_access_token.`

您可以使用curl来获取详细信息。示例curl函数是

function curl_get_file_contents($URL) {
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $URL);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
 curl_setopt($ch, CURLOPT_TIMEOUT, 400);
 $contents = curl_exec($ch);
 $err  = curl_getinfo($ch,CURLINFO_HTTP_CODE);
 curl_close($ch);
$contents=json_decode($contents,true);
 if ($contents) return $contents;
 else return FALSE;

}

例如: -    $ user_home = curl_get_file_contents($ graphURL);