Facebook Приглашает пользователя, извлекая поле данных

#facebook

#Facebook

Вопрос:

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

Моя проблема в том, что, как только я передаю тег отслеживания, я не знаю, как его получить, когда пользователь нажимает на запрос приложения.

Мой код для приглашения

FB.ui( 
{ 
 метод: 'apprequests', 
 сообщение: "Вам следует узнать больше об этой потрясающей игре"., 
 данные: UniqTrackIDInvite // случайно сгенерированное число 
 }, 

и на моей целевой странице, где новый пользователь решает принять мое приложение или нет после нажатия на, я хотел бы иметь способ получить это

Ответ №1:

получение идентификаторов запроса:

 if(isset($_REQUEST['request_ids']))
    $reqIds = explode(',', $_REQUEST['request_ids']);
  

вы можете сохранить их в сеансе, чтобы использовать позже

это вызов api:

 public function getInvitationData($reqId){
    return $facebook->api('/'.$reqId, 'GET', array('access_token'=>$accessToken));
}
  

поскольку пользователь может быть приглашен более чем одним пользователем, у него может быть несколько приглашений, поэтому создайте цикл. также используйте блок try / catch, поскольку идентификатор запроса, который уже удален, вызовет исключение

 foreach($reqIds as $reqId) {

    try{
        $invite = $application->facebook->getInvitationData($reqId);
        $data = explode('.', $invite['data']);

        if(sizeof($data) >= 3) list($in, $from, $code)=$data;

        // tadaaa
        echo $code;

    }

}