将图像上传到特定的Facebook相册

Imr*_*qvi 5 php facebook facebook-graph-api

我可以通过发布数据来使用facebook graph api创建一个相册

http://graph.facebook.com/ALBUM_ID/albums
Run Code Online (Sandbox Code Playgroud)

它返回一个id,这不是专辑ID.

我以两种方式证实了这一点

  1. 通过访问该专辑,援助与我收到的ID不同
  2. 并通过发布http://graph.facebook.com/{ALBUM_ID_I_RECIEVED}/photos,但照片永远不会发布到新创建的相册,而是发布到默认的应用程序相册.

我需要知道真实的专辑ID,以便我可以将图像上传到新创建的专辑.

ifa*_*our 9

新的php-sdk工作得很好,我刚刚测试过,这是我的评论:

1.确保您拥有适用于相册创建和照片上传的适当扩展权限,即publish_stream.

2.使用以下代码创建相册后,您将收到相册ID:

$post_data = array(
    'name'=>"My Test Album",
    'description'=>"My Test Album Desc"
    );
$data['album'] = $this->facebook->api("/me/albums", 'post', $post_data);  
Run Code Online (Sandbox Code Playgroud)

PS:我确认此ID不是您在浏览Facebook时看到的ID

3.现在我们需要使用您获得的相册"参考"ID上传图像:

$file = FCPATH . "assets/img/small1.jpg";
$post_data = array(
    "message" => "My photo caption",
    "source" => '@' . realpath($file)
);
$album_id = "473425002142";
$data['photo'] = $this->facebook->api("/$album_id/photos", 'post', $post_data);  
Run Code Online (Sandbox Code Playgroud)

PS:常数FCPATH是一个Codeigniter常数,你可以$_SERVER['DOCUMENT_ROOT']或任何你熟悉的方法.

结果如下:
替代文字