Мне нужно сделать форму для загрузки фотографий с именем и описанием, но я хочу загрузить фотографию в одно и то же время на фан-страницу Facebook с той же формой. Я не хочу входить в facebook перед загрузкой изображения, я просто хочу написать учетные данные в php и работать с этим. Я пробовал это, но я не могу получить сеанс facebook (и я даже не знаю, если это возможно сделать без входа в систему).
заранее спасибо
<?php
//PAGE ID: ********
define('FACEBOOK_SDK_V4_SRC_DIR', '/complementos/facebook-php-sdk-v4-4.0-dev/src/Facebook/');
require __DIR__ . '/complementos/facebook-php-sdk-v4-4.0-dev/autoload.php';
require_once( 'complementos/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookSession.php' );
// Make sure to load the Facebook SDK for PHP via composer or manually
require_once( 'complementos/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookRequest.php' );
require_once( 'complementos/facebook-php-sdk-v4-4.0-dev/src/Facebook/GraphObject.php' );
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphObject;
session_start();
FacebookSession::setDefaultApplication('********', '******');
if($session) {
try {
// uploading image to user timeline using facebook php sdk v4
$response = (new FacebookRequest(
$session, 'POST', '/me/photos', array(
'source' => new CURLFile('img/h_index.jpg', 'image/jpg'), // photo must be uploaded on your web hosting
'message' => 'User provided message'
)
)
)->execute()->getGraphObject();
if($response) {
echo "Photo is uploaded...";
}
} catch(FacebookRequestException $e) {
echo $e->getMessage();
}
}
else
{
echo "no entra en session;";
}
Попробуйте, если это работает: Чтобы получить токен доступа, вы можете получить его отсюда: https://developers.facebook.com/tools/accesstoken/
$session = new FacebookSession('Token');
http://www.sanwebe.com/2014/09/facebook-connect-with-php-sdk-v4
Здесь все ясно написано. Надеюсь, он решает вашу проблему. :)
Наконец это сработало отлично! У меня была другая проблема, связанная с библиотекой Facebook. Исправляя это и с вашим исправлением, он работает. Теперь у меня возникает другая проблема, связанная с разрешениями. Вот он: (# 200) Требуется расширенное разрешение: publish_actions
Я попытаюсь получить некоторую информацию об этом. Большое вам спасибо за вашу помощь.