ich meine alten FB App auf die neue Graph API an Migration mit den PHP APIWie kann man überprüfen, ob Benutzer mit neuer facebook php api angemeldet
Ich habe zwei Seiten: public diejenigen (die keine Benutzeranmeldung erforderlich) und privaten (das tut)
so ist der Code jeder einzelnen pHP-Seite in meiner Anwendung funktioniert wie folgt:
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
Nun, wie Sie, diese Art des Arbeitens nach vorne jeder einzelnen Seite auf die Login-uRL sehen und während es funktioniert, ist es auch langsam und hängt dieansession = {bla} string zu sehr einzelner URL.
Ich brauche eine Möglichkeit zu überprüfen, wo ein Benutzer bereits angemeldet ist, bevor ich ihn auf Login-Seite umleiten. Aber ich kann eine solche Methode nicht in der PHP API finden. Was ist der beste Weg, dies zu tun?
EDIT
Dies schien den Trick
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/>" ;
}
Wenn Sie die Zugriffstoken gespeichert haben und es verwenden, das nicht funktioniert, weil der API-Aufruf funktioniert immer noch ohne eine Ausnahme zu werfen, aber dann, wenn man sich auf den getLogoutUrl beispielsweise umleiten, sendet sie nur sie auf der Facebook-Homepage, anstatt Sie zurück auf Ihre Website senden – andrewtweber
@andrewtweber genau. Vielen Dank. –
Sie mussten die URL vorher dekodieren, deshalb werden Sie nicht umgeleitet: Php echo rawurlencode ($ logoutUrl); ?> –