Javascript 使用Facebook API向多个收件人发送消息
是否有其他方法将邮件发送给多个收件人。 我们已经尝试集成逻辑,如这里所述 但现在看来不行了。它只允许向ID列表中的第一个收件人发送信息Javascript 使用Facebook API向多个收件人发送消息,javascript,facebook,web,dialog,send,Javascript,Facebook,Web,Dialog,Send,是否有其他方法将邮件发送给多个收件人。 我们已经尝试集成逻辑,如这里所述 但现在看来不行了。它只允许向ID列表中的第一个收件人发送信息 谢谢你的帮助。Facebook不想让你这么做,所以你必须做一个变通。。。您可以使用内置的消息传递系统开发应用程序。然后同时向多个收件人发送请求。当用户单击请求时,您的应用程序应检索并显示该消息。我找到了一种向多个朋友发送Facebook消息的解决方法。 每个Facebook用户都会自动获得一个@Facebook.com电子邮件地址。 地址与公共用户名或公共用户I
谢谢你的帮助。Facebook不想让你这么做,所以你必须做一个变通。。。您可以使用内置的消息传递系统开发应用程序。然后同时向多个收件人发送请求。当用户单击请求时,您的应用程序应检索并显示该消息。我找到了一种向多个朋友发送Facebook消息的解决方法。
每个Facebook用户都会自动获得一个@Facebook.com电子邮件地址。 地址与公共用户名或公共用户ID相同。
因此,您只需向此电子邮件地址发送一封常规电子邮件即可。 该邮件将像普通邮件一样显示在Facebook收件箱中。
使用已连接用户的电子邮件作为发件人非常重要,否则它将无法工作。
下面是一个获取所有好友电子邮件地址并调用web服务的示例
<div id="fb-root"></div>
<script type="text/javascript" src="https://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
FB.init({
appId: '#APP_ID#',
status: true,
cookie: true,
xfbml: true
});
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
GetData();
} else {
Login();
}
});
function Login() {
FB.login(function (response) {
if (response.authResponse) {
GetData();
}
}, { scope: 'email' });
}
function GetData() {
//Get user data
FB.api('/me', function (response) {
//Sender
var sender = response.email;
//Get friends
FB.api('/me/friends', function (response) {
//Recepients array
var recipients = [];
var length = response.data.length;
var counter = 0;
//Loop through friends
for (i = 0; i < length; i++) {
var id = response.data[i].id;
//Get friend data
FB.api('/' + id, function (response) {
var recipient = "";
//User got a username, take username
if (response.username) {
recipient = response.username + '@facebook.com';
}
//No username, take id
else {
recipient = response.id + '@facebook.com';
}
//Add e-mail address to array
recipients.push(recipient);
counter++;
//last email -> send
if (counter == length) {
SendEmail(sender, recipients);
}
});
}
});
});
}
function SendEmail(sender, recipients) {
//Call webservice to send e-mail e.g.
$.ajax({ type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
url: '#WEBSERVICE#',
data: '{ sender:"' + sender + '", recipients: ["' + recipients.join('","') + '"] }',
success: function (response) {
//do something
}
});
}
</script>
FB.init({
appId:“#APP#u ID#”,
状态:正确,
曲奇:是的,
xfbml:对
});
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
GetData();
}否则{
登录();
}
});
函数登录(){
FB.登录(功能(响应){
if(response.authResponse){
GetData();
}
},{范围:'电子邮件'});
}
函数GetData(){
//获取用户数据
FB.api('/me',函数(响应){
//寄件人
var sender=response.email;
//交朋友
FB.api('/me/friends',函数(响应){
//接收器阵列
风险值=[];
变量长度=response.data.length;
var计数器=0;
//环游朋友
对于(i=0;i发送
如果(计数器==长度){
发送电子邮件(发件人、收件人);
}
});
}
});
});
}
功能SendEmail(发件人、收件人){
//致电webservice发送电子邮件,例如。
$.ajax({type:'POST',
contentType:'application/json;charset=utf-8',
数据类型:“json”,
url:“#Web服务#”,
数据:{sender:“+sender+”,recipients:[“+recipients.join(“,“)+“]}”,
成功:功能(响应){
//做点什么
}
});
}
我正试图将邮件发送到@facebook.com地址,但它们总是隐藏在“垃圾邮件”文件夹中。有什么想法吗?值得注意的是,此功能不再起作用,将电子邮件发送给用户_id@facebook.com看到这个答案,这个解决方案似乎使用了一个带有Facebook用户ID的数组