代码之家  ›  专栏  ›  技术社区  ›  flybywire

facebook:为什么我不能从应用程序向用户发送电子邮件?

  •  2
  • flybywire  · 技术社区  · 15 年前

    我正在使用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);
    

    我正在尝试fbml和文本电子邮件。我也可以获得用户的代理电子邮件属性,但当我发送电子邮件到该地址与我的常规邮件客户端是没有到达。

    输出为:

    Can send email: true
    Succesfully sent email to: []
    Succesfully sent email to: []
    
    2 回复  |  直到 15 年前
        1
  •  6
  •   Pat James    15 年前

    您的应用程序在Facebook应用程序设置中定义为桌面应用程序还是Web应用程序?

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

        2
  •  1
  •   phwd    13 年前