需要帮助,尝试从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无法处理任何内容)。
有谁想帮我解决这个问题?
答案 0 :(得分:0)
使用 App Access令牌访问的大多数页面都被限制为从公共Facebook页面检索数据,任何人都可以在不登录的情况下打开。 但对于此处的特定情况,您想要提取的帖子来自年龄门控页面。所以Facebook要求你登录(如果你还没有),以便它可以决定是否显示页面。 同样也是documented:
要阅读您需要的页面:
- 公共和非人口统计限制页面的应用或用户访问令牌
- 当前用户可以查看的受限页面的用户access_token(无需特殊权限)
醇>
因此,您需要使用用户访问令牌来访问该页面,以便Facebook允许您的应用访问Page的帖子。