0

我一直在尝试通过 Facebook 帖子的丛林阅读(剪切)关于通过代码向我的 Facebook 朋友发送消息或电子邮件的方式。到目前为止,我已经找到了 Facebook REST API: https ://developers.facebook.com/docs/reference/rest/notifications.sendEmail/

使用测试工具进行测试时,它只能向您登录的帐户发送邮件。不是已授予应用程序权限的帐户。我为其他用户得到的只是:

"error_code": 200,
"error_msg": "Permissions error",
"request_args": {...}

此 API 已弃用,将被 GRAPH API 取代:http: //developers.facebook.com/docs/reference/api/

在此 API 中,它似乎没有发送任何电子邮件,但存在消息:

http://developers.facebook.com/docs/reference/api/message/

但这仅允许阅读消息...发送内容的唯一方法是发布到用户墙上,这是我不想做的事情。

所以我的问题是:

  1. 是否允许或将允许发送电子邮件或消息?

  2. 如果是,我从哪里开始?我应该使用什么 API(JAVA)?

  3. 有没有办法通过 Janrain 做到这一点,我发现的唯一一件事就是在墙上做?

奖金问题=)

  1. 为什么 Facebook 很难找到这方面的信息?

****编辑*****

为了测试 Graph API,我使用了位于https://developers.facebook.com/tools/explorer/的测试工具。在那里我输入了我的 facebook id 并执行了 GET:

https://graph.facebook.com/my.id

我得到的是关于我的帐户的一些信息,但没有电子邮件

{
id: "mypersonalfacebookid",
name: "my name",
first_name: "my",
last_name: "name",
link: "http://www.facebook.com/my.name",
username: "my.name",
gender: "male",
locale: "en_US",
type: "user",
}

这没关系,因为我没有输入任何Access Token。第二步是从https://developers.facebook.com/apps为我的应用程序输入访问令牌,该令牌已被授予用户 my.name 访问 my.name 的电子邮件: 隐私

我得到了什么:

{
  id: "mypersonalfacebookid",
  name: "my name",
  first_name: "my",
  last_name: "my name",
  link: "http://www.facebook.com/my.name",
  username: "my.name",
  work: [
    {
      employer: {
        id: "11111111111111",
        name: "CooolCompany.com",
      }
      with: [
        {
        },
      ]
      from: {
      }
    },
  ]
  education: [
    {
      school: {
        id: "11111111111",
        name: "Studied Computer Science",
      }
      type: "College",
    },
  ]
  gender: "male",
  email: "my.name@gmail.com",
  timezone: 2,
  locale: "en_US",
  verified: true,
  updated_time: "2011-07-20T17:12:26+0000",
  type: "user",
}

很酷,电子邮件就在那里,但是如果我为其他一些为他/她的帐户授予相同权限的用户执行此操作:

{
  id: "xxxxxx",
  name: "My Friend",
  first_name: "My",
  last_name: "Friend",
  link: "http://www.facebook.com/my.friend",
  username: "my.friend",
  hometown: {
    id: "12345",
    name: "Cool Town",
  }
  location: {
    id: "1111111",
    name: "Somewhere",
  }
  gender: "female",
  locale: "en_US",
  updated_time: "2011-06-29T19:21:38+0000",
  type: "user",
}

这里没有电子邮件!为什么?

4

2 回答 2

3

首先,Facebook 很难找到有关其 API 的信息绝对不是真的。事实上,您可能是通过使用 REST API 自己调用它,因为该 API 已被标记为已弃用。

我建议您使用 GRAPH API,并阅读有关使用 OAuth 进行身份验证的内容。

在您的请求中,您必须请求允许执行其他操作(标准权限除外)。我的猜测是你没有请求发送消息或电子邮件的权限。

于 2011-07-19T10:10:29.740 回答
3

Q. 如何给FB用户发邮件?

  1. 创建一个应用程序。
  2. 让用户验证应用程序(请求访问 GDP 中的电子邮件地址 - 权限)。
  3. 使用您的电子邮件解决方案向用户发送电子邮件。
  4. 完毕。

查看图形 API 资源管理器:https ://developers.facebook.com/tools/explorer/

C@脸书

于 2011-07-19T16:13:55.750 回答