I would like to upload a photo to facebook for a user in the default album for an application. This is described under publishing here: http://developers.facebook.com/docs/reference/api/photo
Yöntem burada cevap olmuştur: http://stackoverflow.com/questions/2964410/how-can-i-upload-photos-to-album-using-facebook-graph-api. Ben şu kullanıyorum:
$args = array(
'message' => 'Photo Caption',
'image' => '@'.realpath("image.png")
);
$data = $facebook->api('/me/photos', 'post', $args);
Ben bu girişimi Ancak ben "(# 324) yükleme dosyası gerektirir" istisna olsun. Ben geçerli bir oturum var ve ben publish_stream ve user_photos izinlere sahip. Ben API kullanarak veri alabilirsiniz. O file_get_contents(realpath("image.png"))
ile yüklü olabilir çünkü görüntü dosyası kesinlikle geçerlidir.
I've tried this solution, using curl, which works perfectly: http://stackoverflow.com/questions/2718610/upload-photo-to-album/2728275#2728275
$args = array(
'message' => 'Photo from application',
'pic.png' => '@'.realpath('pic.png')
);
$tok = $session['access_token']
$url = 'http://graph.facebook.com/'.$album_id.'/photos?access_token='.$tok;
$ch = curl_init();
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);
(Aynı $ args ve $ url kullanarak) bu gibi görünüyor Facebook'un PHP SDK kıvrılma ile karşılaştırıldığında:
$ch = curl_init();
$opts = self::$CURL_OPTS;
$opts[CURLOPT_POSTFIELDS] = http_build_query($args, null, '&');
$opts[CURLOPT_URL] = $url;
curl_setopt_array($ch, $opts);
$data= curl_exec($ch);
Neden PHP sürümü çalışmıyor? Http_build_query () işlevi, görüntü yüklenirken engel oluyor gibi görünüyor. Ben burada neler olup bittiğini anlamak için kıvrılma hakkında yeterli bilmiyorum.