내 탭은 사용자가 팬이 될 때를 알아야하므로 권한을 요청해야합니다. 페이스 북의 공식 문서에도 불구하고 나는 그것을 성공적으로 만들었고 사용자는 oauth 대화 상자로 리다이렉트되었고 그가 확인한 후에 탭으로 돌아왔다.PHP Oauth inside 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();
}
모두 작동하지만 사용자가 대화 상자를 수락하지 않는 경우 오류 응답을 구문 분석 할 수 없습니다. 복귀하는 URL은 다음과 같습니다
이https://www.facebook.com/page?sk=app_appid&error_reason=user_denied&error=access_denied&error_description=The+user+denied+your+request.#_=_
그러나 탭 내부의 iframe이이 매개 변수가 없습니다.
어떻게해야합니까?
에 나타납니다 나는 찾을 수 없습니다. –
로그인 코드에 'cancel_url'매개 변수를 추가하십시오 : 'cancel_url = https : //www.facebook.com/ {your_page}? v = app_ {app_id} & app_data = login_failed' –