我已经使用这段代码使照片上传功能正常工作,
我希望这可以帮助,我和一个朋友曾经头痛了相当长的一段时间才使这个工作正常运行!无论如何,这是我的问题,我如何在粉丝页面上上传图片?我正在努力让它工作,但当我上传图片时,我只得到了照片ID,而没有照片在相册中。
因此,当用户在我们的应用程序上点击上传按钮时,我需要将他们创建的图像上传到我们的粉丝页面相册,并在其中标记他们。有人知道我该如何实现这一点吗?
<?php
include_once 'facebook-php-sdk/src/facebook.php';
include_once 'config.php';//this file contains the secret key and app id etc...
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
'cookie' => true,
'domain' => 'your callback url goes here'
));
$session = $facebook->getSession();
if (!$session) {
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'req_perms'=>'user_photos,publish_stream,offline_access'//here I am requesting the required permissions, it should work with publish_stream alone, but I added the others just to be safe
));
echo 'You are not logged in, please <a href="' . $facebook->getLoginUrl() . '">Login</a> to access this application';
} else{
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$token = $session['access_token'];//here I get the token from the $session array
$album_id = 'the id of the album you wish to upload to eg: 1122';
//upload your photo
$file= 'test.jpg';
$args = array(
'message' => 'Photo from application',
);
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url = 'https://graph.facebook.com/'.$album_id.'/photos?access_token='.$token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
//returns the id of the photo you just uploaded
print_r(json_decode($data,true));
} catch(FacebookApiException $e){
echo "Error:" . print_r($e, true);
}
}
?>
我希望这可以帮助,我和一个朋友曾经头痛了相当长的一段时间才使这个工作正常运行!无论如何,这是我的问题,我如何在粉丝页面上上传图片?我正在努力让它工作,但当我上传图片时,我只得到了照片ID,而没有照片在相册中。
因此,当用户在我们的应用程序上点击上传按钮时,我需要将他们创建的图像上传到我们的粉丝页面相册,并在其中标记他们。有人知道我该如何实现这一点吗?