【问题标题】:Graph API returns 'false' or 'Unsupported get request' accessing public Facebook PageGraph API 访问公共 Facebook 页面时返回“假”或“不支持的获取请求”
【发布时间】:2011-10-14 04:49:27
【问题描述】:

我在一些粉丝专页和使用 Facebook Graph API 获取他们的详细信息时遇到了一些问题。

当我尝试获取粉丝页面的详细信息时,Graph API 只返回了false,但现在正在返回

{
    "error": {
        "message": "Unsupported get request.",
        "type": "GraphMethodException",
        "code": 100
     }
}

并非所有 Facebook 页面都存在这种情况,只有少数人会出现这种情况。

例如,当我尝试在以下位置获取 this page 的详细信息时 https://graph.facebook.com/CaptainMorganMacedonia, 它只返回一个错误。

该页面是公开的,拥有超过 25 个粉丝,但我仍然无法获取该页面的详细信息。是 Facebook 的问题,还是页面配置错误?

【问题讨论】:

    标签: facebook facebook-graph-api social-networking facebook-page


    【解决方案1】:

    假设页面是酒精门控(在 OP 的示例中,该页面是酒精页面),您必须使用符合酒精限制的用户的访问令牌访问该页面。

    具体来说,对于酒精饮料,任何 21 岁以上的用户都应该能够做到这一点,而对于某些市场,这一数字会更低(取决于该市场的饮酒年龄)。

    一般情况下,如果页面的可见度受到人口统计(国家或地区或年龄)限制、因酗酒而受到限制或未发布,则页面或应用访问令牌在尝试访问该页面的详细信息或饲料。

    必须为有权查看页面的用户使用用户访问令牌。

    如果用户不符合页面管理员设置的限制,则返回false

    这已(自 2012 年 9 月以来)被替换为带有文本 Unsupported get request. 和代码 100 的 OauthException

    这是一个包罗万象的错误,通常意味着隐私检查失败。 对于页面,原因几乎可以肯定是该页面未发布、限制到某些国家或年龄组或标记为酒精页面

    【讨论】:

    • 非常感谢,我头疼了好几个小时。 facebook真是让人头疼。
    • 短版本是,如果用户在 Facebook.com 上看不到某些内容,我们也不会让该用户通过 API 看到它,这意味着如果某些内容受到限制,您的应用需要证明您代表可以查看内容的用户行事,这是通过使用他们的访问令牌完成的。在某些极端情况下,这并不完全合理,但总的来说,我认为这种行为是正确的,如果不一定很明显
    • @Igy 但它更进一步。我使用我的用户访问令牌。我可以在 facebook 上看到一个人的事件,但无法使用图形 api 获取它们。看到这个错误:developers.facebook.com/bugs/…
    • 这与此答案中的问题无关
    • UnknownColumn 在哪里获得 21+ api 密钥?我用一个足够老的配置文件制作了一把钥匙。
    【解决方案2】:

    一张图片胜过千言万语。

    如果您仅更改以下设置之一:

    这是您的客户将收到的响应:

    { "error": {
          "message": "Unsupported get request.",
          "type": "GraphMethodException",
          "code": 100
       }
    }
    

    实际上我已经尝试更改“年龄限制”,并且每个不是“任何人(13)”的设置都会导致这个问题。

    【讨论】:

      【解决方案3】:

      我遇到了这个问题,但这是一个导致问题的国家/地区限制(即使我在正确的国家/地区)。删除它解决了这个问题。 检查您是否有任何看似无关紧要的限制,因为它们可能会导致阻塞。

      【讨论】:

        【解决方案4】:

        当您尝试访问已被限制的资源时,Graph API 似乎返回false 或一些空数据。例如,Facebook 粉丝页面的管理员可以按年龄限制他们的访问(这包括针对酒精页面的特殊设置):

        选择年龄限制意味着任何低于指定年龄的人 将无法在搜索或朋友的个人资料中找到您的主页 或以其他方式查看内容。这也意味着注销 用户将无法看到您的主页。

        与酒精有关的年龄限制根据 用户的位置。仅限加拿大、韩国或尼加拉瓜的用户 年满 19 岁,在日本、冰岛或巴拉圭 年满 20 岁,在喀麦隆, 21 岁以上的密克罗尼西亚、帕劳、所罗门群岛、斯里兰卡或美国, 在印度和瑞典 25 岁以上,在其他地方 18 岁以上 能够查看您的页面。你明白与酒精有关的年龄 限制是为了方便,Facebook 不代表 通过使用该设置,您的主页将在所有方面都合法合规 您的主页可见的国家/地区。你最终明白 您有责任设定适当的合法年龄 您的主页可见的每个国家/地区的限制。

        他们还可以按国家/地区限制访问:

        输入一个或多个国家,然后选择是否需要该页面 对所列国家/地区的人可见或隐藏。 进入一个或多个国家意味着注销的用户将不会 能够看到您的主页。如果未列出任何国家/地区,您的主页将是 位于所有国家/地区的人们都可以看到。你明白你 负责设置适当的国家/地区限制,以确保 您主页的内容适合该国家/地区或 您允许其显示的国家/地区

        例如,如果您没有登录 Facebook,您将无法看到this page(您将被重定向到 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
        }
        

        很遗憾,无法使用 应用程序 访问令牌来检索此信息,这在某些情况下可能很有用。

        【讨论】:

          【解决方案5】:

          Y 在设置中解决了它->联系电子邮件:输入它。然后转到状态和评论并将其放在您是否要将此应用程序及其所有实时功能提供给公众?页面顶部的选项。

          还要确保未设置年龄限制 +13 和国家/地区。

          【讨论】:

            【解决方案6】:

            除了上述所有答案之外,并不是说启用“社交发现/应用程序显示在新闻源中”设置也会触发此问题。

            【讨论】:

              猜你喜欢
              • 2015-06-13
              • 2012-11-24
              • 1970-01-01
              • 1970-01-01
              • 2021-03-27
              • 2017-07-30
              • 1970-01-01
              • 2011-11-29
              • 1970-01-01
              相关资源
              最近更新 更多