Моя вкладка должна знать дату, когда пользователь становится фанатом, поэтому я должен просить разрешения. Несмотря на официальную документацию на facebook, я сделал ее успешно, и пользователь перенаправлен в диалог oauth, и после того, как он подтвердит, вернитесь на вкладку.PHP Oauth внутри страницы TAB
$user = $facebook->getUser();
if ($user)
{
$access_token = $facebook->getAccessToken();
$user_profile = $facebook->api('/me');
try
{
$likes = $facebook->api("/me/likes/pageid");
}
catch (FacebookApiException $e)
{
$user = null;
}
}
else
{
?>
<script type="text/javascript">
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=<?=$app_id?>';
oauth_url += '&redirect_uri=' + encodeURIComponent('https://www.facebook.com/<?=$pageid?>?sk=app_<?=$app_id?>');
oauth_url += '&scope='
window.top.location = oauth_url;
</script>
<?
die();
}
Все работает, но я не смог разобрать ответ ошибки в этом случае пользователи не принимают диалог. Возвращение Ссылка:
https://www.facebook.com/page?sk=app_appid&error_reason=user_denied&error=access_denied&error_description=The+user+denied+your+request.#_=_
Но IFrame внутри вкладки не имеет каких-либо параметров.
Что я могу сделать?
Я не могу найти, где определить другой URL переадресации, если пользователь нажмет «отменить» вместо «пойти в приложение». –
Добавьте параметр 'cancel_url' в свой код входа: ' cancel_url = https: //www.facebook.com/ {your_page}? V = app_ {app_id} & app_data = login_failed' –