首先,有人可以确认开放图形对象类型形成层次结构。我的意思是每个movie
avideo
和每个video
a object
?
我问的原因是like
action type 只支持object
在应用仪表板中定义对象类型,所以如果我将我的对象定义为 type movie
,我能喜欢那个对象吗?从我从文档中收集到的信息来看,确实应该是这样,但没有在任何地方明确说明。
我偶然发现了这一点,因为我在尝试代表用户喜欢 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
对象类型。 - 我没有定义画布 URL,因为我的应用程序在其他地方自行托管,并且不需要 facebook 页面。
Like
操作类型尚未提交以供批准,但我正在使用有效访问令牌执行来自用户的请求,该用户具有在我的应用程序中执行未提交的操作类型的角色。- 访问令牌是长期存在的,通过交换用户通过客户端身份验证流程进行身份验证时收到的短期访问令牌获得。
- 在定义了发布的动作类型和对象类型之后,用户已经进行了身份验证。
- 所有测试都是在我的机器上通过 Open Graph Explorer 和 Fiddler 执行的,参数 (
object
和access_token
) 进行了 urlencoded。 - 如果使用类似的社交插件,一切都会按预期进行。
[可能是这个问题
的副本]