2012-02-25 4 views
0

Я на моей странице, я админ и я уже «как» этого Peage, но этот код:Facebook PHP SDK: ID пользователя на вкладке IFrame странице

require_once "api/facebook.php"; 

$facebook = new Facebook(array(
    'appId' => APP_ID, 
    'secret' => SECRET, 
    'cookie' => true 
)); 

$signedrequest = $facebook->getSignedRequest(); 
$uid = $facebook->getUser(); 

дает мне просто эти данные:

### USER ID ### 

0 

### SIGNED REQUEST ### 

Array 
(
    [algorithm] => HMAC-SHA256 
    [issued_at] => 1330166798 
    [page] => Array 
     (
      [id] => 304887859549216 
      [liked] => 1 
      [admin] => 1 
     ) 

    [user] => Array 
     (
      [country] => us 
      [locale] => en_US 
      [age] => Array 
       (
        [min] => 21 
       ) 
     ) 
) 

Таким образом, getUser() = 0 и идентификатор пользователя из подписанного запроса - пустой. Что я делаю неправильно?

ответ

0

Для GetUser вам необходимо войти в приложение, показать тэ логин/разрешения диалогового

+0

Итак, нет никакой возможности получить идентификатор пользователя без входа/разрешения? Как насчет моего собственного идентификатора, как администратора страницы и автора этого приложения? – 350D

1

По умолчанию «пользователь» страница, таким образом, вы можете отображать контент из вашего приложения, имеющие отношение к этой странице. Чтобы определить, кто является пользователем, вы можете пройти через стандартные переадресации бэкэнда, которые вы прошли бы, как если бы пользователь пришел к вашему приложению без маркера с сеансом/истекшим сроком действия. Но вам нужно помнить, на какой странице вы были, поскольку Facebook передает только эту информацию о начальной загрузке iframe.

Для лучшего удобства пользователей, я бы использовал SDK для javascript для Facebook. Вы можете проверить все в javascript и определить, кто пользователь, не выполняя перенаправления. Вы даже можете запросить авторизацию без перезагрузки страницы. Если пользователь уже разрешил ваше приложение, они не видят никаких изменений и не получают никаких приглашений, но теперь у вас есть «сеанс» с этим пользователем и узнать их ID в javascript.

https://developers.facebook.com/docs/reference/javascript/FB.login/

+1

Итак, нет никакой возможности получить идентификатор пользователя без входа/разрешения? Даже если im администратор страницы, владелец страницы, автор вкладки приложения и уже как эта страница? – 350D

0

Просто, чтобы добавить к этому вы не можете в данный момент получить все в яваскрипте SDK. Он не дает вам ни одной из данных пользователя или страницы (для вкладки страницы), которые делает PHP SDK.

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