FB.ui share_open_graph在移动设备

时间:2016-08-12 07:21:42

标签: javascript facebook fb.ui share-open-graph

我的编码如下:

<!DOCTYPE>
<html>
    <head>
    <script src="https://connect.facebook.net/en_US/sdk.js"></script>
    <meta property="fb:app_id" content="1665615247095212" /> 
    <meta property="og:type" content="heppiheppi:shares" /> 
    <meta property="og:url" content="http://mywebsite.com" /> 
    <meta property="og:title" content="Walk-in" /> 
    <meta property="og:image" content="http://mywebsite.com/images/intro.jpg" />
    <meta property="og:description" content="Bring more customers" />
</head>
<body style='padding:0;margin:0;'>
    <div id="fb-root"></div>
    <script>
        FB.init({
              appId      : '1665615247095212',
              xfbml      : true,
              version    : 'v2.7'
            });

            function LaunchDialog(){
            FB.ui({
               method: 'share_open_graph',
               action_type: 'og.shares',
               action_properties: JSON.stringify({
                 object:'http://mywebsite.com',
               })
             },
             function(response) {
if (response && !response.error_message) {
  alert('Posting completed.');
} else {
  alert('Error while posting.');
}
});
        }
    </script>
    <a href="#" onclick="LaunchDialog();">Share now</a>
</body>
</html>

如果在桌面浏览器上进行测试,请点击&#34;立即共享&#34;,提示分享对话框,点击取消/ X,它会在发布时显示错误。&#39; 如果在移动浏览器上进行测试,请点击&#34;立即共享&#34;,提示共享对话框,点击取消/ X,它将显示“已完成发布”。 有没有人对这个问题有任何线索?

3 个答案:

答案 0 :(得分:0)

您将og:type设置为“heppiheppi:shares”,您是否在App中创建了此对象类型!如果不是,请将其设置回“网站”。

答案 1 :(得分:0)

Facebook团队已将此确认为错误,并将其分配给相关团队进一步调查。

答案 2 :(得分:0)

从Facebook更新:

共享团队已经详细调查并确定差异是由于我们这边的移动和桌面版对话框的不同代码路径

当您在响应对象中收到帖子ID或错误消息时,如果用户已登录您的应用程序和/或已授予publish_actions权限,则应将其记录为文档

对于所有其他情况,我们不记录响应的内容,并且您遇到的差异是有时您会收到一个空的“响应”对象,有时则根本没有响应对象

目前尚未计划进行任何更改以解决此问题,您无法使用对话框中缺少的回复来确定是否创建了帖子

对于在这里得到明确答案的延迟道歉,但你应该假设目前的行为将保持在中短期内;

如果做出长期更改,我认为更有可能完全删除响应,因为这与此区域中的其他更改一致,以防止共享门控和用户帖子的其他激励。