Facebook SDK: controleer tokens aan de serverzijde

Bij het werken met de Facebook SDK (meer bepaald bij het implementeren van een Facebook-inlogfunctie binnen een REST-interface), moet het token dat de klant van Facebook heeft ontvangen eerst op geldigheid worden gecontroleerd door de server voordat verdere bewerkingen worden uitgevoerd .


De eenvoudigste manier om dit te doen, is met de niet-gedocumenteerde API-aanroep

GET https://graph.facebook.com/me?access_token=TOKEN

waarbij TOKEN het genoemde toegangstoken is, dat meer dan 200 tekens lang is. Het antwoord is óf een succesvol antwoord

{
   "id": "XXXXXXXXXXXXXXXXX",
   "email": "david\u0040vielhuber.de",
   "first_name": "David",
   "gender": "male",
   "last_name": "Vielhuber",
   "link": "https://www.facebook.com/app_scoped_user_id/XXXXXXXXXXXXXXXXX/",
   "locale": "de_DE",
   "name": "David Vielhuber",
   "timezone": 2,
   "updated_time": "2014-02-09T18:47:26+0000",
   "verified": true
}

De ID van de gebruiker moet hier worden gebruikt voor de laatste controle.

Anders krijg je de onopvallende melding dat het geen geldig token is:

{
   "error": {
      "message": "Invalid OAuth access token.",
      "type": "OAuthException",
      "code": 190
   }
}
Terug