你好专家,
我创建了一个fb应用程序,用于向用户的朋友的收件箱发送私人消息。我们希望用户能够通过我们的网站向他们的朋友发送消息,但一次只能向一位收件人发送消息(他们将从网站上的列表,我们将在其上预先填充消息)。
但是当用户侧出现对话框时,用户可以编辑并添加多个recip.i需要限制用户在对话框中添加和编辑。有没有办法做到这一点,请给我一个建议。< / p>
这是ss http://screencast.com/t/wvbPe06zAi
任何建议都将受到赞赏。
答案 0 :(得分:0)
使用send
对话框,您将无法限制收件人用户。
仅强制执行一个用户限制的唯一方法是将消息发布到其Feed。您一次只能发布到一个用户的Feed。然而,这不是私密的,只是张贴在他们的个人资料上。
为此,您需要在启动to
对话框时指定FB.ui()
参数。这是一个简单的例子:
var obj = {
method: 'feed',
link: 'https://your.cool.site.com',
picture: 'http://your.cool.site.com/foo.jpg',
name: 'My Cool Site',
to: USER_FBID
};
FB.ui(obj);
答案 1 :(得分:0)
我在下面的示例中使用了此页面Mutli Friend Selector中的代码,但我将复选框输入替换为无线电输入以限制选择给一位朋友。
您可以构建一个简单的UI(Java脚本),以允许用户使用像这样的单选按钮选择他的一个朋友:
function renderMFS() {
FB.api('/me/friends', function(response) {
var container = document.getElementById('mfs');
var mfsForm = document.createElement('form');
mfsForm.id = 'mfsForm';
for(var i = 0; i < Math.min(response.data.length, 10); i++) {
var friendItem = document.createElement('div');
friendItem.id = 'friend_' + response.data[i].id;
friendItem.innerHTML = '<input type="radio" name="friends" value="'
+ response.data[i].id
+ '" />' + response.data[i].name;
mfsForm.appendChild(friendItem);
}
container.appendChild(mfsForm);
// Create a button to send the Request(s)
var sendButton = document.createElement('input');
sendButton.type = 'button';
sendButton.value = 'Send Request';
sendButton.onclick = sendRequest;
mfsForm.appendChild(sendButton);
});
}
选择朋友后,用户将点击上面脚本生成的“发送”按钮。点击“发送”按钮后,将执行以下功能。
function sendRequest() {
// Get the list of selected friends
var sendUIDs = '';
var mfsForm = document.getElementById('mfsForm');
for(var i = 0; i < mfsForm.friends.length; i++) {
if(mfsForm.friends[i].checked) {
sendUIDs += mfsForm.friends[i].value + ',';
}
}
FB.ui({method: 'send',
to: sendUIDs,
name: 'My Great Invite',
message: 'Check out this!!!',
}, callback);
}
function callback(response) {
console.log(response);
}