我有一个 Facebook 应用程序,其中包含已批准的操作“回复”和对象“问题”。当我单击为操作创建的按钮时,操作数据会显示在我的时间轴中,但对象的元数据不会显示,并且我的新闻源中不会显示任何内容。可能是什么原因造成的?
操作代码:
function postResponse(num,questionnum) {
var responsestr = document.forms['frm'+num].responsestr.value;
FB.api('/me/smartassbuddha:respond_to' + question=http://www6.3tierlogic.com/campaigns/smartassbuddha/chapter.php?cp=1&qn='+questionnum+'&re='+encodeURI(responsestr),'post',
function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post was successful! Action ID: ' + response.id);
}
});
}
对象元数据:
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# smartassbuddha: http://ogp.me/ns/fb/smartassbuddha#">
<meta property="fb:app_id" content="213040448788033" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="smartassbuddha:question" />
<meta property="og:url" content="http://www6.3tierlogic.com/campaigns/smartassbuddha/chapter.php?cp=<?=$chapter?>&qn=<?=$quenum?>&re=<?=$responsestr?>" />
<meta property="og:title" content="Chapter 1 - Inspiration" />
<meta property="og:description" content="<?=$questions[$quenum]?>" />
<meta property="og:image" content="http://www2.3tierlogic.com/smartassbuddha/images/logo.jpg" />
<meta property="smartassbuddha:response" content="<?=$responsestr?>" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
最佳答案
您缺少一个问号(显然还缺少一个勾号)。您的 URL 编码也存在问题。
它应该看起来像这样:
var responsestr = document.forms['frm'+num].responsestr.value;
var url='http://www6.3tierlogic.com/campaigns/smartassbuddha/chapter.php?cp=1&qn=' + questionnum + '&re=' + responsestr;
FB.api('/me/smartassbuddha:respond_to?question=' + encodeURIComponent(url),'post', function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post was successful! Action ID: ' + response.id);
}
});
关于Facebook Open Graph 对象数据未显示在动态消息或时间轴中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9370225/