2011-03-27 66 views
0

使用Facebook图形API和我的应用程序的凭据,我能够检索有效的标记:无法检索到的Facebook墙贴

171372936213670|xxxxxxxxxxxxxxxxxx-650901429|x_xxxxxxxxxxxxxxx-xxxxxxxx 

我用检索墙贴的代码:

function getFbWallPosts($user, $limit=5) { 
    $ci =& get_instance(); 
    $token = $ci->facebook->getAccessToken(); 
    $param = array(
     'access_token' => $token, 
     'limit' => $limit, 
     ); 
    $posts = $ci->facebook->api("$user/feed", 'GET', $param); 

    return $posts; 
} 

的函数总是返回一个空的JSON结果:

{"data":[]} 

而且直接测试使用cURL访问墙帖:

function fbrequest($url) { 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $output = curl_exec($ch); 
    curl_close($ch); 

    return $output; 
} 

...无济于事。

编辑:使用的file_get_contents也试过,但它也返回空JSON:

function fbrequest($url) { 
    $output = file_get_contents($url); 
    return $output; 
} 

试图直接在浏览器中粘贴请求字符串(不登录到Facebook的用户):

https://graph.facebook.com/AValidFacebookUsername/feed?access_token=171372936213670|xxxxxxxxxxxxxxxxxx-650901429|x_xxxxxxxxxxxxxxx-xxxxxxxx 

...成功返回所有帖子的jSON字符串

任何想法家伙?

回答

0

我刚刚发现我写的代码没有问题。问题在于我如何解释过程,最终是结果。在访问FB上的其他用户数据时有一些先决条件,并且在组页面的情况下,其中之一是请求数据的用户必须是该组的扇子。

傻我...

1

的Try ...

function curl($url){ 
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
    $content = curl_exec($curl); 
    curl_close($curl); 
    return $content; 
} 

如果没有运气,也许Apache不带SSL支持编译。

+0

没有工作。该网站在HostGator上运行,并且我们有我们自己的启用了SSL的域。 – 2011-03-27 02:00:35

+0

卷曲 卷曲支持\t启用 卷曲信息的libcurl/7.21.0的OpenSSL/0.9.8q zlib的/的libidn 1.2.3/0.6.5 – 2011-03-27 02:03:25

+0

OpenSSL的 OpenSSL的支持\t启用 OpenSSL的版本\t OpenSSL的0.9.8q 2010年12月2日 – 2011-03-27 02:05:22