Facebook Graph API特定应用专辑中的POST图片

时间:2013-04-09 09:04:59

标签: facebook facebook-graph-api facebook-fql facebook-php-sdk

我有一个Facebook应用程序将照片发布到我的应用程序也创建的特定相册。如果我第二次运行应用程序,它将创建另一个专辑并在那里发布新图片。我想如果用户POST一个新的,图片将被放置在同一个专辑中,如果没有创建。到目前为止,这是我的代码:

$graph_url = "https://graph.facebook.com/me/albums?" . "access_token=". $access_token;
$album_name = 'MyApp Album';
$album_description = 'Album description';
$postdata = http_build_query(
    array('name'=> $album_name,
      'message'=> $album_description
          ));
$opts = array('http' =>
    array(
        'method'=> 'POST',
    'header'=> 'Content-type: application/x-www-form-urlencoded',
    'content' => $postdata
    ));
$context  = stream_context_create($opts);
$result = json_decode(file_get_contents($graph_url, false, $context));
$album_id = $result->id;
$file = $_POST['photo'];
$args = array(
    'message' => 'Photo from application',
    );
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url = "https://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);
print_r(json_decode($data,true));

如果不是绝对必要,我不想使用FQL查询。如果我可以搜索专辑名称,然后返回ID,那就太棒了。

0 个答案:

没有答案