用Facebook的Graph API将照片上传到相册

我试图熟悉Facebook的新的graphicsAPI,到目前为止我可以很容易地读取和写入一些数据。

我正在努力寻找像样的文件正在上传图像到相册。

根据http://developers.facebook.com/docs/api#publishing你需要提供消息参数。 但我不太确定如何构build它。

我读过的旧资源是:

  • http://wiki.auzigog.com/Facebook_Photo_Uploads

  • https://developers.facebook.com/docs/reference/rest/photos.upload/

如果有人有更多的信息或可以帮助我解决使用FacebookgraphicsAPI上传照片到相册,请回复!

以下是使用PHP Facebook Graph API上传照片的各种方法。 这些例子假设你已经实例化了$ facebook对象并且有一个有效的会话。

1 – 上传到当前用户的默认应用程序相册

这个例子会将照片上传到当前用户的默认应用程序相册。 如果专辑不存在,它将被创build。

$facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH); $data = $facebook->api('/me/photos', 'post', $args); print_r($data); 

2 – 上传到目标相册

这个例子会把照片上传到一个特定的相册。

 $facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH); $data = $facebook->api('/'. $ALBUM_ID . '/photos', 'post', $args); print_r($data); 

这是我工作的代码:

 //upload photo $file= '/path/filename.jpg'; $args = array( 'message' => 'Photo from application', ); $args[basename($file)] = '@' . realpath($file); $ch = curl_init(); $url = 'http://graph.facebook.com/'.$album_id.'/photos?access_token='.$access_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 photo id print_r(json_decode($data,true)); 

链接到文档: http : //developers.facebook.com/docs/reference/api/photo

你必须做一些事情,让graphicsapi与PHP的工作。 此代码工作。 注意fileUpload => true …

我也从来没有得到它与J​​avaScript的工作,所以我做了这个Ajax:

require './facebook.php';

 $facebook = new Facebook(array( 'appId' => 'ID', 'secret' => 'SECRET', 'fileUpload' => true, 'cookie' => true // enable optional cookie support )); $facebook->setFileUploadSupport(true); # File is relative to the PHP doc $file = "@".realpath("../../_images/stuff/greatness.jpg"); $args = array( 'message' => 'Photo Caption', "access_token" => "urtoken", "image" => $file ); $data = $facebook->api('/ALBUMID_GOES_HERE/photos', 'post', $args); if ($data) print_r("success");