【问题标题】:How do I send an email or message to facebook friends through code如何通过代码向 Facebook 好友发送电子邮件或消息
【发布时间】:2011-07-19 10:05:45
【问题描述】:

我一直在尝试通过 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",
}

这没关系,因为我没有输入任何 访问令牌。第二步是从https://developers.facebook.com/apps 输入我的应用程序的Access Token,它已被授予用户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",
}

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

【问题讨论】:

标签: java facebook-graph-api facebook janrain facebook-rest-api


【解决方案1】:

问。如何给FB用户发邮件?

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

查看图形 API 浏览器:https://developers.facebook.com/tools/explorer/

C@Facebook

【讨论】:

  • 感谢您的回答!我仍然有这个问题。该应用程序对我和另一个用户具有以下权限:访问我的基本信息、向我发送电子邮件、发布到我的墙上、随时访问我的数据以及在将图表与应用程序访问令牌一起使用并执行 graph.facebook.com/[myid] 时收到电子邮件,但在为另一个用户的 ID 执行此操作时,我不是。你能帮我进一步得到这个吗?
  • 没有看到你在做什么,很难进一步帮助你。能详细点吗?
【解决方案2】:

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

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

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

【讨论】:

  • 你好瑞克!首先我必须不同意你的观点。如果你在 stackoverflow 或谷歌上搜索这个问题,你会遇到很多人都面临同样的困境。其次,我测试了 Rest API 只是因为 Graph API 无法做到这一点。第三,我有该用户的电子邮件权限,因为我在将我的应用程序与 FB 连接时要求他们。
  • 我还可以通过 janrain 访问所有用户的朋友(ID),但不能访问他们的电子邮件,所以如果您知道如何使用 Graph API 进行操作,请指出正确的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-30
相关资源
最近更新 更多