Как отправить электронное письмо или сообщение друзьям из Facebook через код - PullRequest
0 голосов
/ 19 июля 2011

Я пытался прочитать (обрезать) свой путь в джунглях постов Facebook о том, как отправить сообщение или электронное письмо своим друзьям на Facebook с помощью кода.До сих пор я нашел API REST Facebook: 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, единственное, что я нашел, это сделать это на стене?

Бонусный вопрос =)

Почему Facebook так сложно найти информацию об этом?

**** РЕДАКТИРОВАТЬ *****

Для тестирования Graph API я использовал инструмент тестирования, расположенный в https://developers.facebook.com/tools/explorer/.Там я ввел свой идентификатор на Facebook и произвел 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,, который был предоставлен пользователю my.name для доступа к электронной почте my.name: priv

Что я получил обратно:

{
  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",
}

Нетнапишите здесь!Почему?

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Q. Как отправить электронное письмо пользователю FB?

  1. Создание приложения.
  2. Попросите пользователя авторизовать приложение (запросить доступ к адресу электронной почты в GDP - разрешения).
  3. Используйте решение для электронной почты, чтобы отправить электронное письмо пользователю.
  4. Готово.

Проверьте API API графика: https://developers.facebook.com/tools/explorer/

C @ Facebook

3 голосов
/ 19 июля 2011

Прежде всего, это абсолютно неправда, что Facebook затрудняет поиск информации об их API.На самом деле, вы, вероятно, вызываете это на себе, используя REST API, поскольку тот был помечен как устаревший.

Я бы посоветовал вам использовать GRAPH API и прочитать об аутентификации с использованием OAuth.

В вашем запросе вы должны запросить разрешение на выполнение дополнительных действий (кроме стандартных разрешений).Я предполагаю, что вы не запрашиваете разрешение на отправку сообщения или электронной почты.

...