Я разрабатываю свое первое приложение для facebook, которое включает в себя создание нового альбома и размещение фотографий на стене пользователя.
Изучив документацию facebook и несколько руководств, я придумал этот код, но с ним я получаю следующую ошибку.
Неустранимая ошибка: вызов функции-члена setFileUploadSupport () для объекта, не являющегося объектом…
$facebook -> setFileUploadSupport(true);
$album_details = array('message' => 'Album desc', 'name' => 'Album name');
$create_album = $facebook -> api('/me/albums', 'post', $album_details);
$album_uid = $create_album['id'];
$photo_details = array('message' => 'Photo message');
$file = 'app.jpg';
$photo_details['image'] = '@' . realpath($file);
$upload_photo = $facebook -> api('/' . $album_uid . '/photos', 'post', $photo_details);
Пожалуйста, помогите мне с этим. Спасибо
3 ответа
Вам нужно будет создать экземпляр класса с поддержкой загрузки файлов и запросить правильные разрешения.
$facebook = new Facebook(array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
'fileUpload' => true // enable file upload support
));
// get a login url with the correct perms
$facebook->getLoginUrl(array(
'scope' => 'photo_upload,first_name,email,publish_stream,read_stream'
));
Photo_upload - это ключевое разрешение, позволяющее загружать фотографии.
Вы создали экземпляр своей переменной ($ facebook) как объектного класса?
Примере:
include('class.Facebook.php');
$facebook = new Facebook();
Вам нужно создать экземпляр класса, сначала создав новый объект. Вам также необходимо передать массив $ config - так как в конструкторе «отсутствует 1 аргумент»; это ошибка, которую вы получаете.
// Create facebook object.
$config = array(
'appId' => 'app id',
'secret' => 'app secret',
'fileUpload' => true
);
// Initiate the library
$facebook = new Facebook($config);
Замените «идентификатор приложения» и «секрет приложения» на те, которые вы получили при создании своего приложения facebook.
Изменить: добавлено небольшое изменение в код. $ Config принимает третий необязательный элемент в массиве, называемый fileUpload (логическое значение, указывающее, разрешена ли загрузка файлов). Вам нужно установить это, потому что вы вызываете метод setFileUploadSupport (). Или другой способ - написать, как вы, и передать логическое значение непосредственно в setFileUploadSupport (true). В любом случае работает.
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.