内置的操作会拒绝对象类型

时间:2012-08-30 18:47:55

标签: facebook api facebook-like facebook-opengraph

首先,有人可以确认打开的图形对象类型构成一个层次结构。我的意思是每movievideo,每videoobject

我问的原因是like操作类型仅支持在应用仪表板中定义object对象类型,因此如果我将对象定义为movie类型,我会能够喜欢那个对象吗?从我可以从文档中收集的内容来看,确实应该如此,但没有明确说明。

我偶然发现了这一点,因为我在尝试代表用户使用网址时遇到错误。喜欢的对象实例将og:type定义为movie。返回的错误是:

{"error":{"message":"(#100) Like actions are not yet supported against objects of this type.","type":"OAuthException","code":100}}


我尝试了几件事,结果令人困惑:

  1. 我尝试将og:type参数更改为object。我得到了同样的错误。
  2. 我尝试将og:type参数更改为website。我得到了同样的错误。
  3. 我尝试将og:type参数更改为video。我得到了同样的错误。
  4. 我尝试更改作为对象传递的URL中的id查询参数。这导致我在服务器上的Web应用程序找不到id引用的对象,反过来又不呈现任何元标记。根据调试器,类型被隐式确定为“网站”。这在某种意义上起作用,我得到了动作实例的id,并且再次尝试相同的请求会抛出连接已经存在的错误。但是,在新闻源或用户个人资料中的喜欢中都没有显示任何内容。我可以正常删除连接。
  5. 我尝试提供DNS无法解析的网址。调试器说它无法抓取任何信息。否则,情况与情况4相同。

  6. 有关我的设置的更多信息:

    • 该应用已配置为发布Like操作类型以及ObjectVideo对象类型。
    • 我没有定义画布URL,因为我的应用程序在其他地方自我托管,并且不需要Facebook页面。
    • Like操作类型尚未提交审批,但我正在使用具有在我的应用中执行未提交的操作类型的角色的用户的有效访问令牌执行请求。
    • 访问令牌是长期存在的,通过交换用户通过客户端身份验证流程进行身份验证时收到的短期访问令牌获得。
    • 用户在已定义已发布的操作类型和对象类型后进行了身份验证。
    • 我的计算机上的Open Graph Explorer和Fiddler都执行了所有测试,参数(objectaccess_token)urlencoded。
    • 如果使用类似的社交插件,一切都按预期工作。


    [可能是this问题的副本]

1 个答案:

答案 0 :(得分:2)

类型website没问题。

尝试执行Like Button Migration,请参阅该文档中的“准备迁移”。

您可以通过检查您是否是FB Page的管理员来检查您的website是否需要迁移,检查它是否具有该website(对象)的旧式“管理页面”与og:site-nameog:title元标记同名。如果你是一个与你的对象命名相同的FB页面的管理员,那么就像使用Open Graph(即/me/og.likes)一样需要Like Button Migration。