网站上的 Facebook 粉丝页面提要(受年龄保护)
Posted
技术标签:
【中文标题】网站上的 Facebook 粉丝页面提要(受年龄保护)【英文标题】:Facebook Fan Page feed on Website (Age-Protected) 【发布时间】:2013-04-05 00:20:30 【问题描述】:在尝试从 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 没有返回任何内容)。
有人想帮我解决这个问题吗?
【问题讨论】:
您似乎正在使用应用访问令牌。我说的对吗? 是的。有不同的方法吗? 【参考方案1】:使用 应用访问令牌 访问的大多数页面都被限制为从公共 Facebook 页面检索数据,任何人都可以在不登录的情况下打开该页面。 但是对于这里的特殊情况,您要提取的帖子来自 年龄限制 页面。因此,Facebook 要求您登录(如果您尚未登录),以便它可以决定是否显示该页面。 documented 也一样:
要阅读您需要的页面:
公共和非人口限制页面的应用或用户访问令牌 当前用户能够查看的受限页面的用户 access_token(无需特殊权限)
因此您需要使用用户访问令牌来访问页面,以便 Facebook 允许您的应用程序访问页面的帖子。
【讨论】:
如何在我的代码中完成这项工作?我的网站上没有任何 Facebook 登录名/用户登录名。 这样做会有问题吗?还要记下Platform Policy 声明You must not circumvent (or claim to circumvent) our intended limitations on core Facebook features and functionality.
你在说什么问题?
@Keoki .. 向看不到它的人显示年龄限制页面的帖子的问题,即年龄限制看到它。
由于我的网站有年龄限制,我没有发现任何问题。以上是关于网站上的 Facebook 粉丝页面提要(受年龄保护)的主要内容,如果未能解决你的问题,请参考以下文章
在 facebook 外的 facebook 粉丝页面上发表评论和点赞新闻