Я знаю, что здесь много вопросов и ответов об этом, но я не могу понять их, потому что они не показывают примеры полного кода или предназначены для выполнения чего-то отличного от того, что я пытаюсь сделать.
У меня есть простая вкладка "Добро пожаловать-тест" в Facebook. Не приложение холста. Я хочу получить идентификатор пользователя, но должен заставить его запросить у них доступ к этой информации, прежде чем она появится в подписанном запросе.
Итак, я ищу пример кода для простой вкладки приветствия. Мне не нужна страница входа или что-то в этом роде, так как это будет на странице фанатского контента, поэтому они должны быть уже зарегистрированы. Я просто хочу, чтобы это диалоговое окно всплыло с запросом разрешения, чтобы я мог получить идентификатор пользователя.
Спасибо
Edit:
Я хотел добавить, что я только что понял свою проблему, но это не совсем ответ на этот вопрос. Я понял, как получить идентификатор пользователя, не спрашивая у пользователя разрешения на доступ к его профилю. Это было так же просто, как добавить этот код на страницу, и он работает в приложении с вкладками и холстами одинаково. getUser () самостоятельно возвращает 0, но поскольку пользователь уже вошел в систему для просмотра этого содержимого, когда getUser () возвращает 0, код просто получает идентификатор пользователя из метода API. Теперь, когда я наконец понял это, это кажется простым.
$session = $facebook->getUser();
if (!$session) {
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0
));
echo "<script type='text/javascript'>top.location.href = '$url';</script>";
} else {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$updated = date("l, F j, Y", strtotime($me['updated_time']));
echo "Hello " . $me['name'] . "<br />";
echo "You last updated your profile on " . $updated;
} catch (FacebookApiException $e) {
echo "Error:" . print_r($e, true);
}
}
Я все еще хотел бы знать, есть ли способ сделать диалоговое окно расширенных разрешений для приложения с вкладками, так что было бы хорошо увидеть решения для php sdk.