0

在尝试从 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 />";
}

  ?>

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

有人想帮我解决这个问题吗?

4

1 回答 1

0

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

要阅读您需要的页面:

  1. 公共和非人口限制页面的应用程序或用户访问令牌
  2. 当前用户能够查看的受限页面的用户 access_token(不需要特殊权限)

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

于 2013-04-05T18:20:37.700 回答