Hvordan kan jeg logge brukeren ut fra min Facebook Connect nettside, uten å bruke fb-login knappen? Jeg ønsker å gjøre det fra codebehind (c #)?
Utlogging med facebook
Jeg fant ut at det var bare en mulighet til å gjøre det fra Javascript ved FB.logout(). Det virker ganske wird at det er ingen API fra codebehind å gjøre det samme.
I det minste i den php api det er en logg ut metode. For at det skal fungere på utlogging metoden omdirigerer brukeren til en url i facebook.com og deretter sender deg tilbake til ditt nettsted
$ facebook-> utlogging ( " http://site.com/returnAfterLogout.php ")
Men jeg har funnet ut at i forespørselen javascript api fortsatt mener php api fortsatt tror han er logget på, og før du prøver å gjøre en api forespørsel vil det heve et unntak.
Du kan enkelt gjøre dette fra en forekomst av facebook.API klasse (facebook.dll). Bare ring _api.LogOff ()
Min smertefulle opplevelsen viste meg at du må ha en avkastning (false); etter FB.Connect.logout (); ringer som i:
FB.Connect.logout (doOnUserLogout ()); returnere (false);
Ellers vil det virke som det er å logge ut, med sperrende dialogboks som sier det, men det vil ikke logge brukeren ut.
Jeg fant ut dette ved en tilfeldighet som det var igjen ikke dokumentert.
synes ConnectSession ikke har noen koder i Logg methd. Det er bare
void Logout(){ }
uten noe som helst. samme forLogin(){}
så i utgangspunktet må du bruke java-script versjon
Er det ikke mulig med krøller og noe som preg_match ( "/ a href = \" \ / logout.php (*) \ "/", $ side, $ logout_param.?);
deretter...
curl_setopt (. $ lm, CURLOPT_URL, 'http://m.facebook.com/logout.php' $ logout_param [1]); curl_exec ($ ch);
??
Jeg gjorde dette i en Webview ved hjelp av:
webview.loadUrl("http://www.facebook.com/logout.php?confirm=1");
Hvis du bare vil ha en enkel link for å logge ut brukeren, kan du danne en url som dette:
https://www.facebook.com/logout.php?access_token=ACCESS_TOKEN&confirm=1&next=REDIRECT
Bare erstatte ACCESS_TOKENog REDIRECTmed riktige verdier. Facebook endrer dette nå og da, så du må se opp for det. Dette fungerer bare i nettleseren, men det fine med å gjøre det på denne måten er at brukeren ikke trenger å vente på Javascript-biblioteket skal lastes.













