Recevez les derniers messages Facebook de la page avec PHP SDK
Le code suivant est à l'intérieur d'un fichier appelé facebook_posts.php ce que j'appelle de mon fichier d'index comme suit: <?php require_once("http://www.example.com/design/php/facebook_posts.php"); ?>
. Toutefois, lorsque ce code est mis, il n'y a pas de réponse. Donc, ni le succès, ni la capture des erreurs de renvoyer un message d'erreur (que je vois). J'ai essayé les Url absolues, mais cela ne fonctionne pas non plus. (J'ai caché de l'api et de l'information de la page.) Apparemment, le contenu qui suit le require_once (pied de page et les scripts) ne sont pas chargés. Quelque chose semble aller de mal avec le SDK.
Je ne suis pas en utilisant compositeur, dois-je require
la Facebook\
fichiers ou use
? Et ceux que je dois faire pour récupérer les messages à partir d'une page?
<?php
//Defining FB SDK with absolute paths
define('FACEBOOK_SDK_V4_SRC_DIR', 'http://example.com/design/Facebook/');
require 'http://example.com/design/php/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication('{my-app-id}','{my-app-secret}');
$session = new FacebookSession('{my-long-lived-access-token}');
//Get the GraphUser object for the current user:
try {
$request = new FacebookRequest(
$session,
'GET',
'/{my-page-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
var_dump($graphObject);
echo graphObject;
echo "banana";
} catch (FacebookRequestException $e) {
echo "API ERROR";
} catch (\Exception $e) {
echo "other error";
}
?>
EDIT: je viens donc de requis dans tous les FB fichiers, et qui semble fonctionner. Cependant, je ne sais pas comment parcourir/itération de l'objet qui est retourné. I. e. comment faire une boucle à travers les différents postes (les quatre derniers messages de la page) et de s'en faire l'écho dans le HTML. Une structure de base devrait ressembler à ceci:
<time>{publish date}</time>
<p>{post message}</p>
<a href="{link to included url}">{title to included url}</a>
source d'informationauteur Bram Vanroy
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'utiliser une longue durée de vie de la page accès à jeton.
@CBroe dit, vous ne devriez pas utiliser ce jeton d'accès dans le code côté client comme c'est le secret/privé, et que vous ne voulez pas que quiconque d'obtenir.
Donc, pour ce que vous voulez faire, Javascript n'est pas le bon choix. Vous devrez utiliser certains de code côté serveur, comme PHP, Python ou Ruby pour obtenir les postes. Si c'est clair, ici, c'est comment vous pouvez le créer.
Créer un Facebook app:
The application has disabled OAuth client flow
.Vous avez besoin pour créer un jeton d'accès utilisateur.
manage_pages
dans les "Autorisations Étendues" onglet.Obtenez votre courte durée page jeton d'accès.
me/accounts
(GET
),Obtenez votre long terme page jeton d'accès.
https://graph.facebook.com/oauth/access_token?client_id=(1)&client_secret=(2)&grant_type=fb_exchange_token&fb_exchange_token=(3)
dans la barre d'adresse,access_token=FAKECAALBygJ4juoBAJyb8Cbq9bvwPYQwIaX53fLTMAWZCmDan1netI30khjITZAqcw9uE0lRT4ayWGm2ZCS7s7aZCVhF3ei6m0fuy2AkTkwmzUiJI4NUOZAyZAzuL
,Maintenant, vous pouvez utiliser ce nouveau jeton d'accès pour récupérer les messages de votre page:
J'ai trouvé que le plus voté solution est beaucoup trop compliqué et ne dure que 2 mois.
Pour moi, c'est la meilleure solution à l'aide d'une Application avec l'API Graphique 2.5:
1.- Créer une Application.
2.- Aller à: https://developers.facebook.com/tools/explorer/
3.- Copie de cette "{ACCÈS à JETON}" (est de la forme: nombre|hash)
IMPORTANT: (Ce ne sont pas app_id|app_secret!!!)
4.- Requête de l'URL avec CURL:
(5).- Équivalent URL:
J'ai mis tout cela ensemble dans un très simple gist:
https://gist.github.com/biojazzard/740551af0455c528f8a9
Le code exemple:
tout ce dont vous avez besoin pour obtenir les dernières publications de facebook alimentation est décrite ici: http://piotrpasich.com/facebook-fanpage-feed/
En raccourci - utilisez votre fanpage de l'alimentation (veuillez remplacer {id} par la bonne id)
https://facebook.com/feeds/page.php?format=atom10&id={id}
Vous pouvez télécharger le nourrir avec ce morceau de code: