Java facebook:为什么我能';无法从应用程序向用户发送电子邮件?

Java facebook:为什么我能';无法从应用程序向用户发送电子邮件?,java,facebook,Java,Facebook,我无法向我的应用程序用户发送电子邮件,即使我有权限 我正在使用java库,尽管我认为它与此无关 long uid = ...; Collection<Long> uids = new ArrayList<Long>(); uids.add(uid); FacebookXmlRestClient client = new FacebookXmlRestClient(api, secret); boolean sendEmailPerm = client.users_hasA

我无法向我的应用程序用户发送电子邮件,即使我有权限

我正在使用java库,尽管我认为它与此无关

long uid = ...;
Collection<Long> uids = new ArrayList<Long>();
uids.add(uid);
FacebookXmlRestClient client = new FacebookXmlRestClient(api, secret);
boolean sendEmailPerm = client.users_hasAppPermission(Permission.EMAIL,uid);
System.out.println("Can send email: "+ sendEmailPerm);
Collection<String> sent = client.notifications_sendTextEmail(uids, "subject", "body");
System.out.println("Succesfully sent email to: "+sent);
sent = client.notifications_sendFbmlEmail(uids, "subject", "body");
System.out.println("Succesfully sent email to: "+sent);
long uid=。。。;
集合uids=newarraylist();
uids.add(uid);
FacebookXmlRestClient客户端=新的FacebookXmlRestClient(api,机密);
布尔sendmailperm=client.users\u hasAppPermission(Permission.EMAIL,uid);
System.out.println(“可以发送电子邮件:+sendmailperm”);
已发送的集合=客户端。通知_sendTextEmail(UID,“主题”,“正文”);
System.out.println(“成功发送电子邮件至:“+已发送”);
发送=客户端。通知_sendFbmlEmail(UID,“主题”,“正文”);
System.out.println(“成功发送电子邮件至:“+已发送”);
我正在尝试fbml和文本电子邮件。我也可以获得用户的proxied_email属性,但当我用我的常规邮件客户端向该地址发送电子邮件时,该属性不会到达

输出为:

Can send email: true Succesfully sent email to: [] Succesfully sent email to: [] 可以发送电子邮件:true 已成功将电子邮件发送至:[] 已成功将电子邮件发送至:[]
您的应用程序在Facebook应用程序设置中定义为桌面应用程序还是Web应用程序

如果它被定义为桌面应用程序,则需要为正在发送电子邮件的用户包含当前有效的Facebook会话密钥。这可能就是你所缺少的


如果用户在发送电子邮件时未登录到您的应用程序/Facebook,则您需要请求脱机访问扩展权限,该权限允许您获取并保存一个未过期的“无限”发送电子邮件时使用的Facebook会话密钥。

我认为您从未成功登录Facebook或从未正确创建会话。

谷歌搜索结果中的答案应该更高。。。生命的一部分被浪费了。。。但无论如何,thx很多;)+1.