Facebook粉丝页面提供网站(受年龄保护)

时间:2013-04-05 00:20:31

标签: json facebook facebook-graph-api feed

需要帮助,尝试从Facebook上年龄限制的粉丝页面获取帖子/墙上帖子,以便显示在我的网站上。

粉丝页面是年龄限制的,只允许那些17岁以上的人查看它(当他们登录到Facebook时)。但是,我的网站落后于一个年龄门(本地),所以我想在我的网站上显示该Facebook页面的帖子。

我以前见过它,但是我从来没有能够看到这个人的代码,看看他/她是如何做到的,而且我无法找到任何尝试或成功取消它的人。

我在Facebook上创建了一个应用程序,与我的帐户绑定,可以在Facebook上查看任何页面(无论是否是年龄限制):

这是我的代码

    <?php

function fetchUrl($url){

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_TIMEOUT, 20);

 $feedData = curl_exec($ch);
 curl_close($ch); 

 return $feedData;

}

$profile_id = "(Page id)";

//App Info, needed for Auth
$app_id = "123456789";
$app_secret = "123456789abcdefghij";

$authToken = fetchUrl("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id={$app_id}&client_secret={$app_secret}");

$json_object = fetchUrl("https://graph.facebook.com/{$profile_id}/posts?{$authToken}");




$feedarray = json_decode($json_object);

echo $json_object;

foreach ( $feedarray->data as $feed_data )
{
    echo "<h2>{$feed_data->name}</h2><br />";
    echo "{$feed_data->message}<br /><br />";
}

  ?>

该代码适用于没有年龄门的页面,但是那些有效的页面,它返回为无效(由于$ authToken没有返回任何内容,JSON无法处理任何内容)。

有谁想帮我解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用 App Access令牌访问的大多数页面都被限制为从公共Facebook页面检索数据,任何人都可以在不登录的情况下打开。 但对于此处的特定情况,您想要提取的帖子来自年龄门控页面。所以Facebook要求你登录(如果你还没有),以便它可以决定是否显示页面。 同样也是documented

  

要阅读您需要的页面:

     
      
  1. 公共和非人口统计限制页面的应用或用户访问令牌
  2.   
  3. 当前用户可以查看的受限页面的用户access_token(无需特殊权限)
  4.   

因此,您需要使用用户访问令牌来访问该页面,以便Facebook允许您的应用访问Page的帖子。