11
votes

Obtenez la page de page Facebook comme JSON avec jQuery

J'essaie d'obtenir une page de page Facebook à partir de données JSON avec jQuery. Jusqu'à présent, j'ai pu obtenir des détails de page avec ma méthode, mais lorsque j'essaie d'obtenir la page de page, cela me donne une erreur et dans la console, il est indiqué "Erreur de syntaxe: étiquette non valide". Ceci est mon code .....

    $.getJSON("https://www.facebook.com/feeds/page.php?id=237173582992285&format=json&callback=?", function(results){
    console.log(results);
});


0 commentaires

3 Réponses :


13
votes

13 commentaires

J'ai vu dans certains blogs que l'accès jeton est requis mais ce n'est pas un moyen de le faire sans le jeton d'accès? Je veux dire que je peux tirer des informations de la page sans le jeton d'accès, alors pourquoi pas l'alimentation? C'est probablement une question idiote lol. Merci pour votre réponse.


Bien sûr, il y a un moyen, en utilisant le flux RSS, spécifiez JSON comme format de sortie souhaité et que vous êtes prêt à partir! J'ai édité mon post.


J'ai déjà mis JSON comme mon format demandé, vous le verrez si vous regardez de près l'URL donnée. Le problème ici est que j'essaie d'obtenir des données JSON et comme je vous ai dit que je peux voir toutes les données JSON si je vais au lien donné (je serai heureux si vous avez un oeil à vous-même) aussi bien Flux RSS et Atom, mais quand j'essaie de le tirer de mon localhost avec un appel JQuery Obtenir JSON ou un appel Ajax, il échoue et me donne l'erreur de dire "une erreur d'étiquette non valide" dans ma console. J'espère que j'ai fait mon problème, mais plus clair ici.


Ok, j'ai vérifié la demande / la réponse avec jQuery et j'ai de mauvaises nouvelles. Vous devez avoir le & rappel =? Partie de votre demande car vous effectuez une demande de domaine croisée. Cela implique JSONP et il n'y a aucun moyen de s'en débarrasser. L'erreur que vous recevez est parce que la réponse envoyée par Facebook n'est pas au format JSONP. Vous devez envelopper l'appel Facebook en implémentant un proxy sur votre site Web afin que vous appeliez votre page ASPX / PHP / JSP, puis la page Call Facebook, puis la page vous donne la réponse au format approprié (passe-temps est proxy- La page est dans le même domaine, JSONP sinon)


Ouais ça a plus de sens. Je pensais utiliser un fichier PHP secondaire pour récupérer les données JSON, mais cela me dérangeait de savoir quel pourrait être le problème. Je lis également certains articles disant la cause d'erreur "Étiquette non valide" en raison d'une erreur de données dans DataType, mais je pensais que si l'appel de la page fonctionne, pourquoi la page ne fonctionne pas de la même manière. :( Néanmoins merci pour votre aide. J'apprécie vraiment votre travail et votre intérêt de m'aider. :)


J'ai essayé d'interroger le facebook.com/feeds/page.php ... chose à travers ASP.NET, mais j'ai une page HTML de Facebook en disant de mettre à jour mon navigateur !!!


Merci beaucoup, tu as sauvé mon temps et ma vie ... :))) plus 1 @adriansalazar


JSON Link ne semble pas fonctionner. Dit la page non disponible.


Ouais, Json semble avoir cessé de travailler au cours du mois dernier. :(


Y a-t-il un moyen d'obtenir l'image de chaque message aussi? Le json i get seulement inclut le message, créer_time, id ... aucune donnée d'image du tout.


@Adrian Salazar - J'ai besoin de tirer les critiques d'une page et nécessite un jeton d'accès qui a fonctionné bien après avoir généré à partir d'un explorateur d'API graphique. Le problème est qu'il n'existe pas d'une heure. Comment puis-je obtenir le jeton d'accès plus longtemps ou y a-t-il un moyen de l'obtenir de manière permanente et de la façon de le faire? Je suis nouveau à cela, toute aide est appréciée.


@Richendrakumarravi Vous devez mettre à niveau votre jeton avec une demande de jeton d'accès à long terme. Voir ce lien développeurs.facebook.com/docs/facebook -Login / Access-Jetons / ...


Merci Adrian pour cela, j'ai lu le lien que vous avez envoyé, il est indiqué que vous utilisez le jeton utilisateur, votre identifiant d'application et votre application d'application pour effectuer l'appel suivant de votre serveur sur les serveurs de votre serveur sur Facebook.Comment-je obtenir le secret de l'application? J'ai le jeton d'utilisateurs de courte durée avec moi et je n'ai pas eu de mesures particulières pour le faire. Pouvez-vous trouver un lien qui dit probablement les étapes détaillées que j'ai besoin de faire pour que je puisse obtenir les commentaires d'une page FB et l'utiliser sur mon site?



0
votes

Débarrassez-vous de & rappel =? de votre URL. Vous avez un gestionnaire de résultats dans le cadre de votre fonction. Vous n'avez pas besoin d'un rappel.

Ceci devrait vous donner le résultat que vous recherchez, mais il semble que Facebook bloque Jsfiddle via une stratégie .htaccess.


3 commentaires

Je l'ai essayé sans la chose de rappel et il envoie simplement une demande Ajax qui retourne étrangement une réponse vide. Et autant que je suis inquiète, Facebook ne bloque pas JS Fiddle Parce que j'ai vu beaucoup de violons contenant une démonstration de Facebook API. En fait, j'en ai créé un pour vous JSFIDDLE.net/33E4M Comme vous pouvez le constater que ça fonctionne bien avec la page Détails les données JSON mais dès que je mettant en œuvre la même chose avec la page FIVRE, il échoue et m'envoie de la réponse vide.


Lorsque j'exécute votre code comme écrit, il existe un une erreur de jeton inattendu en raison du rappel. Supprimer & rappel =? Modifie l'erreur sur "xmlhttprequest ne peut pas charger ... Origine fiddle.jshell.net n'est pas autorisé "Votre autre violon utilise un point d'extrémité différent, qui peut avoir des règles d'accès différentes. Cela me donne l'idée que Facebook demande ce noeud final.


Cela ne résoudra rien parce que Facebook n'autorise pas Cors ou JSONP.



0
votes

J'ai juste essayé d'aimer la page, et avant de le faire, j'ai ouvert ma console de réseau de navigateur. Ensuite, lorsque je frappe comme un bouton, j'ai inspecté les appels réseau et pourrait comprendre facilement la page ID.


0 commentaires