Класс ошибки facebook \ HttpClients \ HttpClient Factory 'не найден в строке Facebook / Facebook. php в строке 148 - PullRequest
0 голосов
/ 25 февраля 2020

Мне нужна помощь, я пытаюсь ввести логин в Facebook на моем веб-сайте, и прямо с get- go я получаю сообщение об ошибке.

Класс ошибки facebook \ HttpClients \ HttpClient Factory 'не найден Что это вообще значит?

мой код пока довольно прост

на странице тот, который для примера я назвал config. php, я пишу этот небольшой кусочек кода.

Page 1) config. php.

page 2) login. php

Что я делаю не так ... Я делаю это сам, поэтому я в замешательстве. Любая помощь будет очень признательна.

Я не эксперт. В первый раз я возиться с API Facebook, поэтому заранее извиняюсь.

require("vendor/autoload.php"); 

require_once $_SERVER["DOCUMENT_ROOT" ] ."/main_folder/vendor/facebook/graph-sdk/src/Facebook/autoload.php";                                             


$facebook = new \Facebook\Facebook([
'app_id'     => '****************',
'app_secret' => '*****************************',
'default_graph_version' => 'v6.0'
]);





require_once("../main_folder/config.php");

$facebook_output = '';
  $facebook = $this->facebook;
  $facebook_helper = $facebook->getRedirectLoginHelper();

  if(isset($_GET['code']))
  {


  if(isset($_SESSION['access_token']))
  {
  $access_token = $_SESSION['access_token'];
  }
  else
  {
  $access_token = $facebook_helper->getAccessToken();
  $_SESSION['access_token'] = $access_token;
  $facebook->setDefaultAccessToken($_SESSION['access_token']);
  }
  $graph_response = $facebook->get("/me?fields=name,email", $access_token);

  $facebook_user_info = $graph_response->getGraphUser();
  if(!empty($facebook_user_info['id']))
  {
  $_SESSION['user_image'] = 'http://graph.facebook.com/'.$facebook_user_info['id']. '/picture';
  }
  if(!empty($facebook_user_info['name']))
  {
  $_SESSION['user'] = $facebook_user_info['name'];
  }
  if(!empty($facebook_user_info['email']))
  {
    $_SESSION['user_email_address'] = $facebook_user_info['email'];
  }
  }
  else
  {
  $facebook_permissions = ['email'];
  $facebook_login_url = $facebook_helper->getLoginUrl('https://www.stolve.com/stolve-master/login.php', $facebook_permissions);

  $facebook_login_url = '<div align="center"><a href="'.$facebook_login_url.'"><img src="php-login-with-facebook.gif alt="facebook logo"/></a></div>';
  }

1 Ответ

0 голосов
/ 26 февраля 2020

vendor каталог должен быть в том же каталоге, что и config.php и login.php

config.php

<?php 

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



$facebook = new Facebook\Facebook ([
'app_id'     => '****************',
'app_secret' => '*****************************',
'default_graph_version' => 'v6.0'
]);

login.php

<?php

require_once "./config.php";

$facebook_output = '';
  $facebook_helper = $facebook->getRedirectLoginHelper();

  if(isset($_GET['code']))
  {


  if(isset($_SESSION['access_token']))
  {
  $access_token = $_SESSION['access_token'];
  }
  else
  {
  $access_token = $facebook_helper->getAccessToken();
  $_SESSION['access_token'] = $access_token;
  $facebook->setDefaultAccessToken($_SESSION['access_token']);
  }
  $graph_response = $facebook->get("/me?fields=name,email", $access_token);

  $facebook_user_info = $graph_response->getGraphUser();
  if(!empty($facebook_user_info['id']))
  {
  $_SESSION['user_image'] = 'http://graph.facebook.com/'.$facebook_user_info['id']. '/picture';
  }
  if(!empty($facebook_user_info['name']))
  {
  $_SESSION['user'] = $facebook_user_info['name'];
  }
  if(!empty($facebook_user_info['email']))
  {
    $_SESSION['user_email_address'] = $facebook_user_info['email'];
  }
  }
  else
  {
  $facebook_permissions = ['email'];
  $facebook_login_url = $facebook_helper->getLoginUrl('https://www.stolve.com/stolve-master/login.php', $facebook_permissions);

  $facebook_login_url = '<div align="center"><a href="'.$facebook_login_url.'"><img src="php-login-with-facebook.gif alt="facebook logo"/></a></div>';
  }
...