Как отправить электронное письмо или сообщение друзьям в Facebook с помощью кода

Я пытался прочитать (вырезать) свой путь через джунгли сообщений Facebook об отправке сообщения или электронной почты моим друзьям на Facebook с помощью кода. До сих пор я нашел API REST Facebook: https://developers.facebook.com/docs/reference/rest/notifications.sendEmail/

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

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

Этот API устарел и будет заменен API GRAPH: 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 и выполнил 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:   приват

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

{
  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: "[email protected]",
  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",
}

Электронной почты здесь нет! Почему?


person jakob    schedule 19.07.2011    source источник
comment
RestFB ?   -  person Sai Kumar    schedule 19.07.2011


Ответы (2)


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

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

Ознакомьтесь с обозревателем Graph API: https://developers.facebook.com/tools/explorer/

С @ Facebook

person CPD    schedule 19.07.2011
comment
Спасибо за ваш ответ! У меня все еще есть проблемы с этим. Приложение имеет следующие разрешения для меня и другого пользователя: доступ к моей основной информации, отправка мне электронной почты, публикация на моей стене, доступ к моим данным в любое время и при использовании графика с токеном доступа приложений и выполнение graph.facebook.com/[my id] Я получаю электронное письмо, но когда делаю это для идентификатора другого пользователя, я его не получаю. Не могли бы вы помочь мне получить это? - person jakob; 19.07.2011
comment
Не видя, что вы делаете, трудно помочь вам дальше. Можете ли вы дать более подробную информацию? - person CPD; 21.07.2011

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

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

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

person Rick van Bodegraven    schedule 19.07.2011
comment
Привет Рик! Прежде всего, я должен не согласиться с вами. Если вы будете искать этот вопрос в stackoverflow или google, вы получите огромное количество людей с такой же дилеммой. Во-вторых, я протестировал Rest API только потому, что не было возможности сделать это с Graph API. В-третьих, у меня есть права доступа к электронной почте для этого пользователя, так как я запрашиваю их при подключении моего приложения к FB. - person jakob; 19.07.2011
comment
У меня также есть доступ ко всем друзьям (идентификаторам) пользователей через janrain, но не к их электронной почте, поэтому, если вы знаете, как это сделать с помощью Graph API, пожалуйста, укажите мне правильное направление. - person jakob; 19.07.2011