【问题标题】:Open Graph calls generating OAuth Exception打开图形调用生成 OAuth 异常
【发布时间】:2012-05-09 03:20:04
【问题描述】:

我在让 Open Graph 实现正常工作时遇到了一些问题。

据我所知,我有正确的元标记。当我将 URL 粘贴到 Open Graph Debugger 中时,它会返回定义的正确信息(标题、描述、图像等),并且没有错误。

我有 3.1.1 版的 Facebook PHP SDK。

我为我的开发应用启用了 Open Graph,并且定义了一个操作 (read) 和一个对象 (article)。

有问题的实现是一个网站,而不是 facebook 应用程序。在 facebook 上,应用程序的“类别”是“其他”。我在另一个帖子中遵循了一些建议,并将其更改为“游戏”,但不起作用,所以我将其更改回来。

我使用 facebook 验证我的网络应用程序用户并收到一个代码,然后我用它换取一个 access_token,非常标准。我要求以下权限:

  • publish_stream
  • publish_actions
  • offline_access

但是,当我尝试调用以发布操作时,我收到了 OAuthException,并且没有真正的调试方法。

一些奇怪的东西:

  • 图形 API 似乎不喜欢文档中指定的 URL 格式:me/[app_namespace]:[action_type]。在我的例子中,这将是me/' . FB_APP_NAMESPACE . ':read,其中 FB_APP_NAMESPACE 之前被定义为在 facebook 应用程序设置中定义的命名空间。 API 和 Graph API Explorer 都会抛出一个错误,指出它不理解给定的操作。它似乎试图将命名空间读取为操作。
  • 如果我从 url 中删除命名空间,它会报告传入的操作与 url 中定义的 og:type 不匹配,因为 url 中的 og:type 包含我删除的相同命名空间。
  • 如果我从元标记中删除 that 命名空间,然后重试,我会得到一个无法调试的通用 OAuthException。
  • 当我查看我的 facebook 应用程序中提供的代码示例时,操作似乎是 news.reads 而不仅仅是 read
  • 如果我使用该操作,图形 API 会返回一个错误,指出我的 ID 未经授权无法使用打开的图形,因为它不是我的应用程序的管理员、开发人员或测试人员。不幸的是,我是应用程序的创建者,这意味着要么图形 API 在撒谎,要么我在自欺欺人!

我认为解决方案很简单——也许我忘记了什么,或者选择了某个类别不正确。不管怎样,至少可以这么说,这有点令人沮丧!

【问题讨论】:

  • 我还没有处理过 Facebook SDK 但是,您是否使用 urlencode 正确转义了 url,所以 : 更改为 %3A
  • 好问题 - 我会检查并回复你
  • 使用 Graph API Explorer,我向https://graph.facebook.com/{NAMESPACE}:read 发送了一个 POST,并将 URL 作为article 传递。 API 返回:(#803) Some of the aliases you requested do not exist: {NAMESPACE}:read
  • 我错了,我错过了/me。它现在返回 Unknown path components: /{NAMESPACE}:read,代码 2500

标签: facebook facebook-graph-api oauth facebook-opengraph


【解决方案1】:

显然,如果您的应用程序/操作未提交,则 facebook 的默认 read 调用不可用。

我最终创建了自己的 read 操作,并且在第一次尝试时就成功了。去图吧。

【讨论】:

    【解决方案2】:

    对于预定义的操作,post url 略有不同,您必须使用如下内容:

    POST https://graph.facebook.com/me/news.reads?article=[article object URL]
    

    见:https://developers.facebook.com/docs/opengraph/actions/builtin/#read

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 2021-07-18
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      相关资源
      最近更新 更多