我已经获得了照片上传功能来使用此代码,
<?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);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我希望这会有所帮助,我和朋友在墙上砸了很长时间才能让这个工作变得有效!
无论如何,这是我的问题,如何将图像上传到粉丝页面?我正在努力让这个工作,当我上传图像我得到的是照片ID,但没有相册中的照片.
所以基本上,当用户点击我们的应用程序上的上传按钮时,我需要它将他们创建的图像上传到我们的粉丝专辑上,并在其上标记.
谁知道我怎么能做到这一点?
这似乎是 Graph API 的一个错误。请参阅此http://forum.developers.facebook.com/viewtopic.php?id=59063(还无法发布链接)