1

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

$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,那就太好了。

4

0 回答 0