Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

API Facebook, отправляем сообщение на страницу Facebook из PHP.

31K
24 января 2014 года
bpystep
12 / / 17.12.2009
Всем привет!
При отправке сообщения почему-то НЕ происходит автоматический запрос с помощью file_get_contents().

Код:
require 'facebook-sdk/facebook.php'; //подключаем sdk facebook
define('FACEBOOK_APP_ID',"[facebook_app_id]"); // идентификатор приложения AppId
define('FACEBOOK_SECRET',"[facebook_secret]"); // секретный ключ App Secret
define('PAGE_ID',"[page_id]"); // идентификатор страницы (пользователя, группы, события)
define('UID',"[UID]"); // идентификатор страницы или пользователя от имени которого будет опубликована новость
$user = null;
$facebook = new Facebook(array(
    'appId' => FACEBOOK_APP_ID,
    'secret' => FACEBOOK_SECRET,
    'cookie' => true
)); //создаем объект facebook
$user = $facebook->getUser(); //проверяем доступ пользователя
if ($user == 0) { //если его нет
    $login_url = $facebook->getLoginUrl($params = array('scope' => 'manage_pages,offline_access,publish_stream, read_stream')); //создаем запрос на получение доступа
    file_get_contents($login_url); // выполняем запрос, здесь он как раз не выполняется, но если сделать echo $login_url, и выполнить его вручную (через строку браузера), то все получится и $user != 0, скрипт пойдет дальше.
}

$params = array(
    'name' => 'Имя',
    'href' => 'Ссылка',
    'description' => 'Описание',
    'media' => array(array('type' => 'image', 'src' => [картинка], 'href' => '[ссылка]'))
); //массив с вложением

$message = 'Это сообщение'; // сообщение
$attachment = urlencode(json_encode($params)); //приводим к нужному виду

$url = 'https://api.facebook.com/method/stream.publish?message='.$message.'&attachment='.$attachment.'&target_id='.PAGE_ID.'&uid='.UID.'&access_token='.$facebook->getAccessToken(); //создаем запрос
$res = file_get_contents($url); //все таже ситуация, если ручками все отлично, и сообщение даже отправится на нужную нам страничку с нужными вложениями, если через file_get_contents() не получается.
Пробовал переделывать через cURL, все также, как-будто facebook запретил так делать (что бред, потому что на другой странице авторизация проходит).

P.S. На хостинге точно включена возможность использовать как file_get_contents() так и cURL. - Проверено.
31K
26 января 2014 года
bpystep
12 / / 17.12.2009
Ребят, ну неужели за столько просмотров, ни у кого не возникло никаких мыслей?
8
26 января 2014 года
mfender
3.5K / / 15.06.2005
У меня пока возник один вопрос: как на FB сообщение через GET ты передаёшь?
31K
26 января 2014 года
bpystep
12 / / 17.12.2009
Цитата: mfender
У меня пока возник один вопрос: как на FB сообщение через GET ты передаёшь?


хм... немного непонятен вопрос, разве не так $res = file_get_contents($url); ?

31K
26 января 2014 года
bpystep
12 / / 17.12.2009
Если делать через cURL, то в браузере можно увидеть вот такое.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог