Sans jeton d'accès, il y a très peu de choses que vous pouvez obtenir de l'api graphique. Essayez vous-même en dirigeant votre navigateur vers : http://graph.facebook.com/YOU_USER_ID
.
Vous pouvez également vérifier les tables de champs/connexions dans l'application Documentation de l'objet utilisateur où il est écrit "No access_token required" dans le champ de saisie de l'adresse. Permissions colonne (3ème) que vous pouvez obtenir sans jeton.
Si vous souhaitez obtenir d'autres données vous concernant et les rendre publiques sur votre site, vous avez deux possibilités :
-
Utilisez le flux d'authentification côté serveur Obtenez un jeton d'accès de longue durée (60 jours), sauvegardez-le et utilisez-le pendant les 60 jours suivants pour obtenir vos données de Facebook. Puis, lorsqu'il aura expiré, passez à nouveau par le processus d'authentification. Ce sera seulement vous qui devrez passer par là, pas vos utilisateurs, et seulement une fois tous les 60 jours.
-
Connectez-vous vous-même, authentifiez-vous auprès de votre application, récupérez toutes les données et faites-les persister dans votre base de données, puis présentez-les à vos utilisateurs. Vous aurez besoin de mettre à jour les choses de temps en temps.
Modifier
Le guide du flux d'authentification côté serveur contient un exemple écrit en php. Il s'agit d'un exemple simple qui ne couvre pas tous les scénarios, mais c'est un bon début.
J'ai implémenté ceci en python et en java mais ce n'est pas quelque chose qui peut être facilement partagé puisqu'il s'étend sur plusieurs requêtes et états, et donc je vais juste décrire le flux que je pense que vous devriez utiliser :
- À l'intérieur de Facebook, vous allez dans votre application de toile
- Facebook créera un POST dans une iframe avec l'URL de votre toile.
- Dans les données du poste, vous obtiendrez un demande signée décodez-le et vérifiez s'il a un jeton d'accès, si oui, vérifiez quand il expire. Si tout est bon, enregistrez ce jeton et le processus d'authentification est terminé, sinon.. :
- Rediriger l'utilisateur vers le Dialogue oAuth avec votre url de redirection et les permissions dont vous avez besoin.
- Après avoir autorisé votre propre application, vous serez redirigé vers votre "recirect_uri" avec le paramètre code (dans la chaîne de requête).
- Échangez le code contre un jeton d'accès contre les serveurs de facebook et enregistrez le jeton.
- Vous pouvez ensuite vous rediriger vers l'application canvas ou vous arrêter là.
Cela devrait suffire pour obtenir un jeton d'accès de longue durée que vous pourrez ensuite utiliser pendant 60 jours.
Quant à la persistance de vos données fb sur votre propre db, c'est une opération assez triviale pour sauvegarder des données sur un db, et tout dépend des données que vous voulez sauvegarder, comment vous devez les encoder/utiliser (json, xml, texte brut).
Par exemple, disons que vous voulez afficher vos propres photos, après avoir obtenu le jeton (comme décrit ci-dessus), il vous suffit de demander vos photos à votre serveur en envoyant une requête http à : https://graph.facebook.com/me/photos?access_token=XXXXXX
. Vous devriez obtenir un résultat codé en json, itérer sur celui-ci et enregistrer chaque image comme un enregistrement dans votre base de données.