Как отправить электронное письмо или сообщение друзьям из 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 устарел и будет заменен на GRAPH API: http://developers.facebook.com/docs/reference/api/
В этом API это не похоже на отправку электронной почты, но сообщение существует:
http://developers.facebook.com/docs/reference/api/message/
Но это позволяет только читать сообщения... Единственный способ отправлять сообщения - это публиковать сообщения на стене пользователя, и я НЕ хочу этого делать.
Итак, мои вопросы:
Это или будет разрешено отправлять электронные письма или сообщения?
Если да, то с чего мне начать? Какой API я должен использовать (JAVA)?
Есть ли способ сделать это через Джанрейн, единственное, что я нашел, это сделать это на стене?
Бонусный вопрос =)
- Почему 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: "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 ответа
В. Как отправить электронное письмо пользователю FB?
- Создать приложение.
- Попросите пользователя авторизовать приложение (запросить доступ к адресу электронной почты в GDP - permissions).
- Используйте решение для электронной почты, чтобы отправить электронное письмо пользователю.
- Готово.
Посмотрите на API графического обозревателя: https://developers.facebook.com/tools/explorer/
C @ Facebook
Прежде всего, это абсолютно не соответствует действительности, что Facebook затрудняет поиск информации об их API. На самом деле, вы, вероятно, вызываете это на себе, используя REST API, поскольку тот был помечен как устаревший.
Я бы посоветовал вам использовать GRAPH API и ознакомиться с аутентификацией с использованием OAuth.
В вашем запросе вы должны запросить разрешение на выполнение дополнительных действий (кроме стандартных разрешений). Я предполагаю, что вы не запрашиваете разрешение на отправку сообщения или электронной почты.