首先,有人可以确认开放图对象类型形成层次结构吗?我的意思是每个电影
都是一个视频
,每个视频
都是一个对象
吗?
我问的原因是 like
操作类型仅支持在应用仪表板中定义 object
对象类型,因此如果我将对象定义为 类型>电影
,我可以喜欢那个物体吗?从我从文档中收集到的信息来看,确实应该是这样,但没有在任何地方明确说明。
我偶然发现了这一点,因为我在尝试代表用户点赞某个 URL 时遇到错误。喜欢的对象实例的 og:type
定义为 movie
。返回的错误是:
{"error":{"message":"(#100) Like actions are not yet supported against objects of this type.","type":"OAuthException","code":100}}
我尝试了几件事,但得到了非常令人困惑的结果:
- 我尝试将
og:type
参数更改为object
。我也遇到了同样的错误。 - 我尝试将
og:type
参数更改为website
。我也遇到了同样的错误。 - 我尝试将
og:type
参数更改为video
。我也遇到了同样的错误。 - 我尝试将作为对象传递的 URL 中的 id 查询参数更改为 like。这会导致我在服务器上的 Web 应用程序找不到 id 引用的对象,从而不会渲染任何元标记。根据调试器,类型被隐式确定为“网站”。从某种意义上说,这是有效的,我获得了操作实例的 id,并且再次尝试相同的请求会抛出连接已存在的错误。但是,新闻源或用户个人资料中的“赞”中没有显示任何内容。我可以正常删除连接。
- 我尝试提供 DNS 无法解析的 URL。调试器说它无法抓取任何信息。否则,会发生与情况 4 相同的情况。
有关我的设置的更多信息:
- 应用配置为发布
Like
操作类型以及Object
和Video
对象类型。 - 我没有定义 Canvas 网址,因为我的应用在其他地方自行托管,不需要 Facebook 页面。
Like
操作类型尚未提交审批,但我正在使用来自用户的有效访问 token 执行请求,该用户具有在我的应用中执行未提交的操作类型的角色.- 访问 token 是长期存在的,是通过交换用户通过客户端身份验证流程进行身份验证时收到的短期访问 token 而获得的。
- 定义已发布的操作类型和对象类型后,用户已通过身份验证。
- 所有测试均通过我机器上的 Open Graph Explorer 和 Fiddler 执行,参数(
object
和access_token
)经过 urlencoded。 - 如果使用类似的社交插件,一切都会按预期进行。
[可能是 this 的重复项问题]
最佳答案
输入网站
就可以了。
尝试执行 Like Button Migration ,请参阅该文档中的“准备迁移”。
您可以通过检查您的网站
是否具有该网站
(对象)的旧式“管理页面”来检查您的网站
是否需要迁移。 admin 与 og:site-name
或 og:title
元标记同名的 FB 页面。如果您是与您的对象同名的 FB 页面的管理员,那么使用 Open Graph 点赞(即使用 /me/og.likes
)需要点赞按钮迁移。
关于facebook - 内置类似操作拒绝对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203514/