Facebook OpenGraph 3.0 Публикация на странице FB с помощью PHP

Я не уверен, что ошибаюсь, но мне нужно публиковать сообщения с моего сайта на моей странице в Facebook.

~ fbautopost.php

require_once("Facebook/facebook.php");

class FacebookPost 
{

var $consumer;
var $token;
var $method;
var $http_status;
var $last_api_call;
var $callback;
var $connection;
var $access_token;

function __construct($data)
{
    $config = array();
    $config['appId'] = $data['consumer_key'];
    $config['secret'] = $data['consumer_secret'];
    $pageID = $data['page_ID'];

    $this->connection = new Facebook($config);
}

function share($title, $targetUrl, $imgUrl, $description, $access_token)
{
    $this->connection->setAccessToken($access_token);
    $params["access_token"] = $access_token;

    if (!empty($title))
    {
        $params["message"] = $title;
        $params["name"] = $title;
    }

    if (!empty($targetUrl))
    {
        $params["link"] = $targetUrl;
    }

    if (!empty($imgUrl))
    {
        $params["picture"] = $imgUrl;
    }

    if (!empty($description))
    {
        $params["description"] = $description;
    }

    // post to Facebook
    try 
    {
        $ret = $this->connection->api('/' .$pageID . '/feed/', 'post', $params);
    }
    catch(Exception $e) 
    {
        $e->getMessage();
    }

    return true;
}

function getLoginUrl($params)
{
    return $this->connection->getLoginUrl($params);
}

function getContent($url) 
{
    $ci = curl_init();

    /* Curl settings */
    curl_setopt($ci, CURLOPT_URL, $url);
    curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ci, CURLOPT_HEADER, false);
    curl_setopt( $ci, CURLOPT_CONNECTTIMEOUT, 10 );
    curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false);

    $response = curl_exec($ci);
    curl_close ($ci);
    return $response;
}
}

~ post.php

include('fbautopost.php');

$access_token = 'MY_ACCESS_TOKEN';
$facebookData = array();
$facebookData['consumer_key'] = 'MY_APP_ID';
$facebookData['consumer_secret'] = 'MY_SECRET_KEY';
$facebookData['page_ID'] = 'MY_PAGE_ID';

$title = 'Post Title';
$description = 'This is a test post'; 

$facebook = new FacebookPost($facebookData);
$facebook->share($title, $description, $access_token);

Я не снимал приложение с разработки, но как администратор я не вижу тестовых сообщений на странице.

Возможно, я не получаю правильный ЖЕТОН ДОСТУПА ?? В Graph Explorer я выбираю свое приложение, а затем получаю токен пользователя с разрешениями manage_page и publish_page. Я также пробовал использовать токен страницы. Ни работать. У меня плохой код или мне что-то не хватает?

TIA

Если были какие-либо ошибки, вы должны получить ответ об ошибке от вызова API.

CBroe 07.05.2018 08:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
71
1

Ответы 1

Проблема заключалась в том, что мне нужно было require_once ('Facebook / autoload.php'), а не Facebook.php, который у меня был.

Другие вопросы по теме