Когда я использую следующий код, $ user_profile = $ facebook-> api ('/ me');покажет информацию для меня, пользователя-администратора, но когда я переключаюсь на тестового пользователя, диалоговое окно разрешений никогда не отображается для тестового пользователя, чтобы добавить приложение, и $ user_profile не определен.
Я могу 'Кажется, что найден один пример кода, который, кажется, делает все правильно с точки зрения проверки того, что приложение авторизовано, а пользователь аутентифицирован.На старых форумах разработчиков FB я вижу, что у многих людей возникает та же проблема с новыми процедурами.
Вот код:
<?php
$appId = "myid";
$secret = "mysecret";
$canvasurl = "http://www.example.com/myappname/";
$canvas = "http://apps.facebook.com/myappname/";
$scope = "user_website,email,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown,manage_pages,offline_access";
require_once "facebook.php";
$facebook = new facebook(array(
'appId' => $appId,
'secret' => $secret
)
);
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e) {
$user = null;
}
if (!$user) {
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => $scope,
'redirect_uri' => $canvas
)
);
echo <<<LU
<script type="text/javascript">
top.location.href = $loginUrl;
</script>
LU;
}
}
print_r($user_profile);
?>
Спасибо.