Je crée une application web qui tire les derniers messages de notre page Facebook et les traite. Tout cela fonctionne très bien avec un jeton d'accès codé en dur généré à partir de la page this. Le problème est que ce jeton expire, donc je cherche une solution pour générer un nouveau jeton à chaque chargement de la page ou un jeton non expiré - (j'ai lu quelque part que les jetons non expirants n'existent plus). Donc, bien sûr, j'ai fait quelques recherches, here, here et here.Facebook API - jeton d'accès pour application web
Mais aucun de ces exemples ne semble fonctionner.
Avant toute plainte du code que je l'ai essayé jusqu'à présent, ceci est mon exemple de travail - avec un jeton d'accès expirant:
var Facebook = function() {
this.token = 'MYTOKEN';
this.lastPost = parseInt((new Date().getTime())/1000);
this.posts = [];
};
Facebook.prototype.GetPosts = function() {
var self = this;
var deffered = $q.defer();
var url = 'https://graph.facebook.com/fql?q=SELECT created_time, message, attachment FROM stream WHERE created_time < ' + self.lastPost + ' AND source_id = 437526302958567 ORDER BY created_time desc LIMIT 5&?access_token=' + this.token + '';
$http.get(url)
.success(function (response) {
angular.forEach(response.data, function (post) {
self.posts.push(new Post(post.message, post.attachment.media, post.attachment.media[0].src, post.created_time, 'facebook'));
});
self.lastPost = response.data[response.data.length -1].created_time;
deffered.resolve(self.posts);
self.posts = [];
});
return deffered.promise;
};
return Facebook;
Tout sera grandement apprécié l'aide/suggestion.
Le deuxième lien que vous avez fourni est la solution que j'utilise pour obtenir des jetons d'accès non expirés, ce qui fonctionne pour moi, mais uniquement si vous utilisez l'Explorateur de graphes dans v1.0 et non v2.0. Ce que je n'aime pas dans votre approche est que vous stockez le jeton d'accès dans le frontend, ce qui signifie que tout le monde peut le voir. – Tobi