相关疑难解决方法(0)

在Facebook上分享测验结果

我花了几个小时研究这个,但对于那里的许多开发者来说似乎很棘手.我有一个小的PHP测验,通过以下方式从表单输出结果:

if (maxA) {
   echo '
   <img src="imgs/result4.jpg"/>
   <div class="results2">
   <p class="title">You are a Bean</p>
   <p class="details">Description</p>
   </div>';
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何在此底部添加一个共享按钮,它将在Facebook上与描述和图片共享结果.请注意,有四个可用结果.

我已经制作了一个公共应用程序,并在头部插入以下内容:

<script>
window.fbAsyncInit = function() {
FB.init({
  appId      : '1382290368762081',
  xfbml      : true,
  version    : 'v2.3'
});
};

(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
Run Code Online (Sandbox Code Playgroud)

HTML尚未弄清楚.我来回回答:使用"share_open_graph"Facebook UI为测验结果创建动态共享对话框 - 但实际上并没有实现任何目标.我认为如果有人知道确切的制作方法,它会对整个社区有所帮助这种情况发生了,并与我们分享.

php facebook facebook-graph-api

12
推荐指数
1
解决办法
5040
查看次数

通过FB.ui Share Dialog动态生成明确共享的开放图形故事的描述

在我关于这个主题的所有研究中,90%的研究已经过时,这让我相信Facebook JS SDK最近有关于明确共享Open Graph故事的变化.我有以下代码:

function postToFB(desc){
FB.ui({
    method: 'share_open_graph',
    action_type: 'mynamespace:myaction',
    action_properties: JSON.stringify({
        myobject: "myobjectid"
    })
}, function(response){});
}
Run Code Online (Sandbox Code Playgroud)

这个问题是,它将尝试仅使用我在应用程序设置的Facebook Open Graph部分设置的设置来共享myobject.我想使用相同的对象,但每次共享时都用动态'desc'变量更改描述.有谁知道如何做到这一点?我可以在我的应用程序设置的Facebook Open Graph部分中静态设置标题,但我需要在每次共享时动态设置它.

我已经在Facebook JS SDK中搜索了可以添加到action_properties的其他键/值对,但SDK信息在这方面非常有限.

UPDATE

我修改了代码以包含2个调用,一个用于创建对象,第二个用新对象的信息发布故事.这是代码:

function postToFB(desc){
FB.api(
    'me/objects/mynamespace:myobject',
    'post',
    {
    object: {
        "app_id": myappid,
        "type": "mynamespace:myobject",
        "url": "myurl",
        "title": "mytitle",
        "image": "myimgurl",
        "description": desc
        }
    },
    function(response) {
        console.log(response);
        FB.ui({
            method: 'share_open_graph',
            action_type: 'mynamespace:myaction',
            action_properties: JSON.stringify({
                myobject: response.id
        })
    }, function(r){});
});
}
Run Code Online (Sandbox Code Playgroud)

然而,根据对这个问题的评论: Facebook对象API - 创建一个Facebook工作人员的重复对象表示这种方法不会被Facebook批准,因为用户的一个动作不能产生两个帖子,这个代码现在可以做到.一个人将该对象发布到Facebook用户的活动日志,并将其发布到活动日志和新闻源.

如果我只能进行一次调用并从FB.ui函数本身规定myobject描述应该是什么,那将是很好的.有谁知道如何做到这一点?

facebook facebook-graph-api facebook-javascript-sdk fb.ui facebook-opengraph

5
推荐指数
1
解决办法
3752
查看次数