目前,我们的应用程序通过Graph API发布到用户的朋友的墙上。但是,Facebook正在弃用此功能,因此我们将根据Facebook的推荐迁移到Feed对话框(请参阅2013年2月6日的https://developers.facebook.com/roadmap/部分)。
现在,我们知道我们可以将收件人指定为Javascript SDK调用的一部分(注意FB.init()在页面前面的其他位置调用):
<p><a onclick="launchFeedDialog(); return false">Testing the Feed Dialog</a></p>
<script>
function launchFeedDialog() {
// calling the API ...
var obj = {
method: 'feed',
to: 'RECIPIENT NAME', // Can specify recipient here
link: 'http://example.com',
name: 'Test post',
description: 'Test description'
};
FB.ui(obj);
}
</script>
但是,用户似乎不能在启动的对话框中修改收件人。我的意思的截图是http://i.imgur.com/oLPTO.png。
是否有某种方法可以调用Feed对话框,以便用户可以更改/添加收件人,例如发送对话框?
我们尝试实施的流程(以及目前的方式)是:
现在,我们陷入了这种尴尬的流程:
答案 0 :(得分:0)
好的,我们找到了解决方法。总体思路:
display=iframe
)上面的一些警告/推理:
以下是使用简单文本输入的基本示例:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<div>
Recipient's FB username:
<input type="text" id="fb-recipient" placeholder="Recipient's FB username"></input>
<input type="submit" id="fb-recipient-submit" value="Pick" />
</div>
<iframe id="fb-feed-dialog" width="586" height="330" frameborder="0" allowfullscreen></iframe>
<script>
$('#fb-recipient-submit').click(function(e){
e.preventDefault();
var feedUrl = 'https://www.facebook.com/dialog/feed?';
feedUrl += 'display=iframe';
feedUrl += '&app_id=' + 'YOUR_APP_ID';
feedUrl += '&access_token=' + 'ACCESS_TOKEN';
feedUrl += '&link=' + 'SHARE_LINK';
feedUrl += '&redirect_uri=' + 'REDIRECT_URI';
feedUrl += '&to=' + $('#fb-recipient').val();
$('#fb-feed-dialog').attr( 'src', feedUrl );
});
</script>
</body>
</html>
找到更加充实的解决方案的屏幕截图