Der Image Upload mit der graph-api von Facebook ist ziemlich einfach und gut zu benutzen:
Nachfolgend gibts zwei Codeschnipsel mit dem man A. Alben anlegt und B. Photos hochlädt. Dazu habe ich mir die Graph-PHP-Api ein bischen erweitert.
private function createAlbum(){
$params = array();
if (!isset($params['access_token'])) {
$session = $this->getSession();
// either user session signed, or app signed
if ($session) {
$params['access_token'] = $session['access_token'];
} else {
// TODO (naitik) sync with abanker
//$params['access_token'] = $this->getAppId() .'|'. $this->getApiSecret();
}
}
$params['name'] = "test";
$params['message'] = "my new Test-Album";
$url ="https://graph.facebook.com/me/albums";
return $this->makeRequest($url, $params);
}
Bildupload zu Facebook
private function uploadImageData($albumId, $image){
$params = array();
if (!isset($params['access_token'])) {
$session = $this->getSession();
// either user session signed, or app signed
if ($session) {
$params['access_token'] = $session['access_token'];
} else {
// TODO (naitik) sync with abanker
//$params['access_token'] = $this->getAppId() .'|'. $this->getApiSecret();
}
}
$file= $image;
$args = array(
'message' => 'Photo from application',
);
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url ="https://graph.facebook.com/".$albumId."/photos?access_token=".$params['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));
}
Ich hoffe Ihr könnt Damit was anfangen. Sicherlich gibts später noch mehr dazu.