web-dev-qa-db-fra.com

'Classe' Facebook\Facebook 'non trouvée "Erreur du SDK Facebook

Eh bien, je suis nouveau sur Facebook SDK. Je suis en train de suivre la ligne directrice et de suivre les étapes telles qu'elles sont écrites .. mais je reçois cette erreur et je ne sais pas pourquoi? 

 Fatal error: Class 'Facebook\Facebook' not found in C:\wamp\www\index.php on line 134

Le code de ligne d'erreur est: 

<?php 
$fb = new Facebook\Facebook([
  'app_id' => '{app-id}',
  'app_secret' => '{app-secret}',
  'default_graph_version' => 'v2.2',
  ]);
?>

Ce n'est pas quelque chose que j'ai inventé, c'est exactement le même code que celui mentionné dans les directives de Facebook! Que devrais-je faire? 

13
Wocugon

Vous devez d'abord inclure la variable autoloader pour accéder aux méthodes et aux classes du service (comme indiqué dans la documentation du kit de développement logiciel PHP pour l'API Facebook. Vous essayez d'utiliser une classe namespaced Facebook\Facebook, pour utiliser ses méthodes , mais vous n’avez pas la classe dans le fichier PHP.

require_once 'src/Facebook/autoload.php';
//Create the Facebook service
$fb = new Facebook\Facebook ([
    'app_id' => '-----------------',
    'app_secret' => '--------------------',
    'default_graph_version' => 'v2.4'
    ]);

Quelque part dans votre répertoire (si vous avez correctement installé le kit de développement logiciel Facebook PHP), vous trouverez le fichier autoload.php contenant automatiquement les fichiers requires .php nécessaires à l'utilisation des services et des méthodes.

30
q.Then

Je pense que vous devez d'abord importer cette classe php dans votre fichier actuel

Mettez cette ligne en haut

use Facebook\Facebook; 
7
Yifan Fan

Donc, après avoir fait mes propres recherches et que la réponse ci-dessus n’a pas fonctionné, j'ai continué à lire la documentation qui m’avait conduit à cette page: 

https://github.com/facebook/php-graph-sdk/blob/5.5/docs/getting_started.md

Vous devez installer le kit de développement logiciel Facebook PHP dans votre dossier racine à l'aide de Composer dans l'invite de commande (sous Windows). Sur mon système, cela ressemblait à ceci:

C:\wamp64\www>composer require facebook/graph-sdk

Une fois cela fait, je devais ajouter ce qui suit en haut de mon script:

require_once __DIR__ . '/vendor/autoload.php';

Je pouvais maintenant me connecter au SDK de Facebook.

J'espère que cela fonctionnera dans le futur pour les personnes qui ont lutté avec cela, comme je l'ai fait.

2
Nomnom

Téléchargez le fichier Zip ici: https://github.com/facebook/php-graph-sdk/archive/5.4.Zip

Pas :

  1. Décompressez le contenu (en double-cliquant simplement sur le fichier compressé ou en utilisant un logiciel de décompression disponible pour décompresser ou décompresser le fichier téléchargé)

  2. Accédez au dossier "src".

  3. Copiez ou coupez le dossier "src" et collez-le directement dans le dossier à partir duquel vous avez vos fichiers php.

  4. assurez-vous que vous avez créé le fichier "includes.php" dans votre espace de travail de projet php, c.-à-d. le dossier dans lequel votre page Web est assis . Et ajoutez cette ligne à votre fichier "includes.php": 

    require_once 'src/Facebook/autoload.php';

  5. Maintenant, dans votre (vos) fichier (s) php relatif (s) à Facebook, vous pouvez ensuite ajouter:

    require_once ("includes.php");

  6. Maintenant, sauvegardez votre fichier et allez dans votre navigateur et actualisez-le.

// N'oubliez pas de garder votre travail organisé en référençant maintenant tous les fichiers pouvant être nécessaires à votre projet via "includes.php". Cela peut varier pour certains développeurs, en fonction de votre travail et de votre travail.

1
AppEmmanuel