PHPAPIを使用して古いFBアプリを新しいグラフAPIに移行しています
私は2つのページを持っています:パブリックページ(ユーザーログインを必要としない)とプライベートページ(ユーザーログインを必要とする)
したがって、私のアプリケーションのすべてのphpページのコードは次のように機能します。
if (this_page_requires_user_login){
$facebook = new Facebook(...) ;
$session = $facebook->getSession ;
if (!$session){
$url =$facebook.getLoginUrl(array(next => current_page );
echo "<fb:redirect url=$url/>" ;
}
// the rest of the code continues here
ご覧のとおり、この作業方法では、すべてのページがログインURLに転送されますが、動作している間は低速で、&session={bla}文字列が非常に単一のURLに追加されます。
ユーザーをログインページにリダイレクトする前に、ユーザーがすでにログインしている場所を確認する方法が必要です。しかし、私はphpapiでそのようなメソッドを見つけることができません。これを行うための最良の方法は何ですか?
編集
これはトリックをするようでした
if ($session) {
try {
$me = $facebook->api('/me');
if ($me) {
// here comes your code for user who is logged in
}
} catch (FacebookApiException $e) {
login()
}
}else{
login()
}
function login(){
$url =$facebook.getLoginUrl(array(next => current_page );
echo "<fb:redirect url=$url/>" ;
}