看起来Graph API在尝试访问被限制资源时返回
false
或一些空数据。例如,Facebook粉丝页面的管理员可以通过年龄(包括关于酒精的页面的特殊设置)来限制访问:
选择年龄限制意味着任何低于指定年龄的人都无法在搜索中找到您的页面,也无法在朋友的个人资料上查看内容或以其他方式查看内容。这也意味着注销用户将无法看到您的页面。
与酒精相关的年龄限制根据用户所在地设置最低年龄。只有加拿大、韩国或尼加拉瓜的19岁以上用户,在日本、冰岛或巴拉圭的20岁以上用户,在喀麦隆、密克罗尼西亚、帕劳、所罗门群岛、斯里兰卡或美国的21岁以上用户,在印度和瑞典的25岁以上用户以及其他地方的18岁以上用户才能查看您的页面。您理解与酒精相关的年龄限制是为了方便,并且Facebook不表示使用该设置即可使您的页面在所有可见的国家/地区合法。您理解最终您负责为每个可见的国家/地区设置适当的合法年龄限制。
他们还可以通过国家来限制访问:
输入一个或多个国家,然后选择您希望页面对列出的国家中的人可见还是隐藏。输入一个或多个国家意味着注销用户将无法看到您的页面。如果没有列出任何国家,则您的页面将对所有国家/地区的人可见。您理解您有责任设置适当的国家/地区限制,以确保您页面的内容适用于您允许其在其中可见的国家/地区。
例如,如果您未登录Facebook,则无法查看
此页面(您将被重定向到Facebook主页)。在Graph API中也是如此。调用:
http://graph.facebook.com/105226926239
将返回:
false
然而,如果您成功获得了一个用户访问令牌(例如从Graph API Explorer),并且假设相应的个人资料与为此页面定义的限制相匹配:
https://graph.facebook.com/105226926239?access_token=AAACEdEose0cBACIijRIMtayOiN5F58x6DxolYi8ezmpAIPORApnfQvG5Kj1ftOQhSzIgxkNxQiu4iBwozqRT3zTvswEvm0O0JobZC8AZDZD
将返回:
{
"id": "105226926239",
"name": "CodeReduc.com",
"picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/71056_105226926239_2230111_s.jpg",
"link": "http://www.facebook.com/pages/CodeReduccom/105226926239",
"likes": 1,
"category": "Local business",
"is_published": true
}
很遗憾,使用应用程序访问令牌无法检索此信息,这在某些情况下可能会有用。