Загрузка php в Facebook без входа в Facebook

1

Мне нужно сделать форму для загрузки фотографий с именем и описанием, но я хочу загрузить фотографию в одно и то же время на фан-страницу 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;";
}
  • 0
    Вы зарегистрировали приложение для Facebook?
  • 0
    Да, это зарегистрировано. Получил мой идентификатор приложения и секрет приложения, они прямо на FacebookSession :: setDefaultApplication ('********', '******'); ,
Теги:
facebook
facebook-graph-api

3 ответа

0
Лучший ответ

Попробуйте, если это работает: Чтобы получить токен доступа, вы можете получить его отсюда: https://developers.facebook.com/tools/accesstoken/

$session = new FacebookSession('Token');
  • 0
    Я попробовал это, заменив токен токеном приложения Facebook, и теперь я получаю эту ошибку: Неустранимая ошибка: класс 'Facebook \ Entities \ AccessToken' не найден в / Applications / MAMP / htdocs / xxx /compmentos / facebook-php-sdk -v4-4.0-dev / src / Facebook / FacebookSession.php в строке 74
0

http://www.sanwebe.com/2014/09/facebook-connect-with-php-sdk-v4

Здесь все ясно написано. Надеюсь, он решает вашу проблему. :)

0

Наконец это сработало отлично! У меня была другая проблема, связанная с библиотекой Facebook. Исправляя это и с вашим исправлением, он работает. Теперь у меня возникает другая проблема, связанная с разрешениями. Вот он: (# 200) Требуется расширенное разрешение: publish_actions

Я попытаюсь получить некоторую информацию об этом. Большое вам спасибо за вашу помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню