2013-12-25 2 views
0

Я взглянул на ответ, заданный в вопросе this, и он получил меня еще дальше от того места, где я хочу быть!Как перенести сеанс Facebook на PHP на Javascript?

Я интегрировал Facebook Login в своем приложении, используя PHP PHP SDK, и он прекрасно работает (я использую Laravel, и это просто здорово!).

Я ищу передачу этой сессии Facebook в Javascript, чтобы я мог сделать несколько вызовов AJAX API. У меня сеанс в переменной PHP, но мне просто интересно, что я могу сделать, чтобы передать его содержимое JS и инициализировать FB SDK, используя их. У кого-нибудь есть упрощенные предложения о том, как я могу это достичь?

+0

Насколько я знаю, это не представляется возможным. Но, возможно, я ошибаюсь. ** ОБНОВЛЕНИЕ ** Кажется, я ошибаюсь. Вы можете вручную установить объект AuthResponse при инициализации js sdk: https://developers.facebook.com/docs/reference/javascript/FB.init/ –

ответ

1

По facebooks docs это может работа:

PHP:

$signed_request = $facebook->getSignedRequest(); 

JS:

FB.init({ 
    appId : '<?php echo $yourAppId; ?>', 
    authResponse: { 
     accessToken: '<?php echo $signed_request["access_token"]; ?>', 
     expiresIn:'...', 
     signedRequest: '<?php echo $_REQUEST["signed_request"]; ?>', 
     userID:'<?php echo $facebook->getUser(); ?>' 
    }, 
    ... 
}); 
+0

Я получаю 'Undefined index: signed_request' для' $ _REQUEST [' signed_request ']'. Нужно ли сначала установить это, или я должен использовать '$ signed_request'? –

+0

Это должно быть установлено Facebook по первому запросу кадра приложения, если вы даже находитесь в одном. В противном случае php sdk на самом деле не имеет смысла для меня. –

+0

Это не сработало, но я понял, что мне нужно. Оказывается, мне не нужна сессия Facebook. Все, что мне было нужно, это токен доступа для вызова API. Все, что я сделал, это «echo» ";' в PHP, а затем 'FB.api ('/ me/friends? Fields = name, picture .width (250) .height (250), имя пользователя ', {access_token: fb_access_token}, функция (ответ) {}); 'в JS. Просто. :) –

Смежные вопросы