打开图形调用生成OAuth异常

时间:2012-04-28 18:49:16

标签: facebook facebook-graph-api oauth opengraph

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

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

我有Facebook PHP SDK 3.1.1版。

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

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

我使用Facebook对我的网络应用用户进行身份验证并收到一个代码,然后我将其换成access_token,相当标准。我要求以下权限:

  • publish_stream
  • publish_actions
  • offline_access

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

一些奇怪的事情:

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

我认为解决方案非常简单 - 也许我已经忘记了某些内容,或者选择了某个类别不正确。无论哪种方式,至少可以说这有点令人沮丧!

2 个答案:

答案 0 :(得分:1)

显然,如果您的申请/行动未提交,则无法使用facebook的默认read来电。

我最终创建了自己的read操作,并且第一次尝试就开始了。去图。

答案 1 :(得分:0)

对于预定义的操作,帖子的网址略有不同,您必须使用以下内容:

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

请参阅:https://developers.facebook.com/docs/opengraph/actions/builtin/#read