Как использовать Facebook SDK 4.0 без композитора с автозагрузчиком

Я хочу отправить уведомление пользователю Facebook.

У меня есть следующий пример установки, но, похоже, никуда не денется, продолжает выдавать ошибку, что «Facebook Class not found».

<?php
session_start();
require_once 'autoload.php';
require_once( 'src/Facebook/FacebookSession.php' );
require_once( 'src/Facebook/FacebookRequest.php' );

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
$facebook = new Facebook();

$app_id = '654346742464654654';

$app_secret = '--my-secret--';

$app_access_token = $app_id . '|' . $app_secret;

$response = $facebook->api( '/65785757987982452465465445465/notifications', 'POST', array(

'template' => 'You have received a new message.',

'href' => 'RELATIVE URL',

'access_token' => $app_access_token
) );

print_r($response);
?>

Благодарю.

0

Решение

Ключевые классы, которые вам нужны для выполнения базовых запросов к Facebook API: FacebookSession а также FacebookRequest, Следующий пример пытается опубликовать на стене пользователя.

//First of all, initialize with your Facebook App id and secret

FacebookSession::setDefaultApplication("YOUR_APP_ID", "YOUR_APP_SECRET");

//Now its time to make a new FacebookSession instance

$session = new FacebookSession($accessToken);

//Sending the API request for posting
$response = (new FacebookRequest($session,"POST","/me/feed",array(
"message" => "I'm a cool guy")))->execute();

$responseObject = $response->getGraphObject();

//do something with the result

Кроме того, вы должны убедиться, что ваше приложение Facebook имеет достаточно разрешений для выполнения запрашиваемого вами действия (в этом случае отправьте уведомление)

Для получения дополнительной информации об обзоре разрешений API Facebook, пожалуйста, проверьте:
https://developers.facebook.com/docs/apps/review

И для деталей о Facebook PHP Api:
https://developers.facebook.com/docs/reference/php/4.0.0

Надеюсь, поможет

1

Другие решения

Это то, что я делаю для уведомлений (без всего остального кода для моего приложения). В моем случае пользователь разместил новый ответ на тему форума. В других местах я уже подтвердил, что вошедший в систему пользователь делает этот запрос, чтобы я мог инициировать вызов, чтобы опубликовать новое уведомление. Я немного ленив, когда дело дошло до use заявления, и я обычно просто добавляю каждый на всякий случай, но я оставляю только те, которые, как я думал, вам могут понадобиться здесь. Обязательно добавьте обработку ошибок! Существует также несколько способов написания запроса.

<?php

session_start();

require_once 'autoload.php';

use Facebook\FacebookRequest;
use Facebook\FacebookRequestException;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookServerException;
use Facebook\FacebookSession;

use Facebook\GraphObject;

$app_id="APP_ID";
$app_secret="APP_SECRET";

$access_token=$app_id."|".$app_secret;

FacebookSession::setDefaultApplication($app_id,$app_secret);

$session=new FacebookSession($access_token);

try
{
$request=(new FacebookRequest($session,'POST','/'.$user_id.'/notifications',array('href'=>$url,'template'=>$message,'access_token'=>$access_token)));
$response=$request->execute();
}
catch(FacebookRequestException $ex)
{
//Handle error here.
}
catch(\Exception $ex)
{
//Handle error here.
}

?>
0

По вопросам рекламы [email protected]