Ответ 1
TL;DR: сохранить ответ от фактического приглашения этих друзей
Насколько я понял ссылка, вы указали:
Вы можете начать запрос invite_token
, который, как я полагаю, вы уже можете сделать.
В качестве ответа вы получите это за invitable_friend
:
{
"id": "AVlzYTkXshfBqLe58zR9tY5dZ7L0wltTUkWKT0Z5V87zkwv-39...", // Invite Token
"name": "Guy Cross",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/t5.0-1/623782_622770420_2109148508_q.jpg"
}
}
}
Страница упоминает ранее, как делать запросы в целом:
FB.ui({method: 'apprequests',
message: 'YOUR_MESSAGE_HERE',
to: 'USER_ID, USER_ID, INVITE_TOKEN' // It says invite token
}, function(response){
console.log(response);
});
Посмотрите на строку с помощью to
: вы можете поместить туда токены.
Теперь ответ выглядит следующим образом:
{
request: 'REQUEST_OBJECT_ID'
to:[array of USER_IDs]
}
Там у вас есть идентификаторы пользователей.
Если вы пойдете дальше и хотите больше информации или хотите узнать, кто принял, у вас есть два варианта:
- вы можете проверить, разрешил ли пользователь идентификатор игры
- когда новый пользователь входит в систему, вы можете запросить все запросы для этого нового пользователя. Там вы можете отследить, кто его пригласил.
GET https://graph.facebook.com/me/apprequests?access_token=[USER ACCESS TOKEN]
- Вы сохраняете все данные (указанные в TL;DR) и проверяете каждый раз, когда новый пользователь присоединяется к вашей игре, если новый идентификатор пользователя указан в списке упомянутых запросов.
Чтобы проверить, кто его пригласил, вы можете проверить request_object_id
на http://graph.facebook.com/{REQUEST_OBJECT_ID}?access_token=USER_ACCESS_TOKEN
получающего пользователя, и следующий ответ будет:
{
"id": "REQUEST_OBJECT_ID",
"application": {
"name": "APP_DISPLAY_NAME",
"namespace": "APP_NAMESPACE",
"id": "APP_ID"
},
"to": {
"name": "RECIPIENT_FULL_NAME",
"id": "RECIPIENT_USER_ID"
},
"from": {
"name": "SENDER_FULL_NAME",
"id": "SENDER_USER_ID"
},
"message": "ATTACHED_MESSAGE",
"created_time": "2014-01-17T16:39:00+0000"
}
если вы перейдете с токеном доступа пользователя от отправителя, вы получите следующее:
{
"id": "REQUEST_OBJECT_ID",
"application": {
"name": "APP_DISPLAY_NAME",
"namespace": "APP_NAMESPACE",
"id": "APP_ID"
},
"from": {
"name": "SENDER_FULL_NAME",
"id": "SENDER_USER_ID"
},
"message": "ATTACHED_MESSAGE",
"created_time": "2014-01-17T16:39:00+0000"
}
Чтобы предотвратить это, вы можете указать идентификатор пользователя получающего пользователя и получить тот же ответ, что и у получателя: https://graph.facebook.com/{REQUEST_OBJECT_ID}_{USER_ID}?access_token={APP_ACCESS_TOKEN}