Php上传到Facebook没有Facebook登录

时间:2015-05-29 08:49:47

标签: php facebook facebook-graph-api

我需要做一个表单来上传带有名称和描述的照片,但我想将照片同时上传到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;";
}

3 个答案:

答案 0 :(得分:0)

尝试这是否有效: 要获取访问令牌,您可以从此处获取:https://developers.facebook.com/tools/accesstoken/

$session = new FacebookSession('Token');

答案 1 :(得分:0)

最后这完美无缺!我有另一个问题,链接Facebook库。修复它和你的修复,它的工作原理。现在我得到了与权限相关的另一个问题。这里是: (#200)需要扩展权限:publish_actions

我会尝试获取有关它的一些信息。非常感谢你的帮助。

答案 2 :(得分:0)

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

这里写得很清楚。希望它能解决你的问题。 :)