我正在尝试使用JS API将动作发布到Facebook时间线
FB.api('/me/application:action_type' + '?opject_type='+document.location.href,'post',
function(response) {
if (!response || response.error) {
alert("error");
} else {
alert("success");
}
});
发布效果很好,API没有返回任何错误。新活动显示在时间轴上,但仅作为“最近活动”框中的小文本,如下所示:
如果操作未显示在操作类型设置的附件预览中,可能会出现什么问题?看起来像这样:
我已经链接了对象类型中的所有属性,并使用Facebook Debugging Tool测试了我的对象URL,看起来所有属性都可以被Facebook刮刀正确解析。
我还为操作类型定义了聚合布局。那么什么可能是没有显示附件的原因?
答案 0 :(得分:2)
通过设置“时间轴上显示”而不是“时间轴上允许”,您可以在时间轴上看到单个操作附件布局,但默认情况下,您永远不会在时间轴上看到任何操作。您将在自动收录器中看到单个操作附件(也可能在新闻流中)。 如果用户未更改显示模式您将只在时间线上看到聚合
答案 1 :(得分:1)
我还将此问题报告为Facebook的错误。他们的回答是此行为是设计性的,附件布局仅显示在活动日志中,或者当多个活动发布到用户时间轴时。
答案 2 :(得分:0)
您是否在网页上设置了对象参数?例如:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# app: http://ogp.me/ns/fb/app#">
<meta property="fb:app_id" content="123" />
<meta property="og:type" content="app:action" />
<meta property="og:url" content="http://www.example.com/" />
<meta property="og:url" content="http://www.example.com/" />
<meta property="og:title" content="Testing Title" />
<meta property="og:description" content="testing Description" />
<meta property="og:image" content="http.example.com/image.jpg" />
您需要从Facebook开发者网站上获取正确的代码,但为了让Facebook从您的网页获取参数,您必须创建对象。
您可以通过简单地进入聚合 - &gt;预览 - &gt;添加操作来测试它,并且在事件中,只需粘贴网页即可。你会立即看到它是否有效。