我需要做一个表单来上传带有名称和描述的照片,但我想将照片同时上传到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 :(得分: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
这里写得很清楚。希望它能解决你的问题。 :)