【问题标题】:Built-in like action rejects the object type内置like动作拒绝对象类型
【发布时间】:2012-08-25 13:45:29
【问题描述】:

首先,有人可以确认开放图形对象类型形成层次结构。我的意思是每个movie 一个video 和每个video 一个object

我问的原因是like 操作类型仅支持在应用仪表板中定义object 对象类型,因此如果我将对象定义为movie 类型,我是否能够喜欢该对象?从我从文档中收集到的信息来看,确实应该是这样,但没有在任何地方明确说明。

我偶然发现了这一点,因为我在尝试代表用户喜欢 URL 时遇到错误。喜欢的对象实例将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 查询参数更改为 like。这导致我在服务器上的 web 应用程序找不到 id 引用的对象,进而不呈现任何元标记。根据调试器,类型被隐式确定为“网站”。这在某种意义上是有效的,因为我获得了操作实例的 id,并且再次尝试相同的请求会引发连接已经存在的错误。但是,新闻提要或用户个人资料中的“喜欢”中均未显示任何内容。我可以正常删除连接。
  5. 我尝试提供 DNS 无法解析的 URL。调试器说它不能抓取任何信息。否则,与案例 4 相同。


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

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


[可能与this问题重复]

【问题讨论】:

    标签: facebook api facebook-like facebook-opengraph


    【解决方案1】:

    输入website 没问题。

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

    您可以检查您的website 是否需要迁移,方法是检查它是否具有该website(对象)的旧式“管理页面”,方法是检查您是否是同名的 FB 页面的管理员og:site-nameog:title 元标记。如果您是与您的对象同名的 FB 页面的管理员,那么使用 Open Graph(即使用 /me/og.likes)点赞需要“点赞”按钮迁移。

    【讨论】:

    • 非常感谢!这真的很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多