【问题标题】:Upload image to an album if exist else create new album - Facebook将图像上传到相册(如果存在),否则创建新相册 - Facebook
【发布时间】:2011-06-07 04:08:39
【问题描述】:

经过一番努力,我有一些代码可以将图像上传到 Facebook,但现在的问题是它总是会创建一个新专辑。
我想修改代码,以便它只在没有同名专辑的情况下创建专辑;否则,只需将图片上传到现有相册即可。

我上传图片的代码:Upload photos to Facebook Album from an app

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    API 允许您将图像上传到应用的现有相册。只需发布到https://graph.facebook.com/USER_ID/photos - 照片将发布到为您的应用创建的相册中。如果您的应用尚不存在,我们会自动为您的应用创建相册。所有以这种方式上传的照片都将被添加到同一个相册中。

    如果您想将图像添加到特定相册,您必须 POST 到 https://graph.facebook.com/ALBUM_ID/photos - 照片将发布到特定的现有相册,由 ALBUM_ID 表示。

    详细的操作指南在这里:https://developers.facebook.com/blog/post/498

    【讨论】:

      【解决方案2】:

      首先您要检查您正在创建的相册是否存在,否则 Facebook 将继续生成具有相同名称的同一个相册。

      $album = $facebook->api($param);
      if (!$album) {
          $album_details = array(
              'message'=> 'Your album description goes here',
              'name'=> $albumName
          );  
          $create_album = $facebook->api('/me/albums', 'post', $album_details);
          $album_uid = $create_album['id'];
      } else {
          $album_uid = $album[0]['object_id'];
      }
      

      获得相册 ID 后,您可以像这样上传照片:

      $photo_details = array(
          'message'=> 'Photo Description Goes Here',
          'image'=> '@' . realpath($theUploadFile)
      );
      
      $upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);
      

      我写了一个很好的教程,其中有很多其他的功能。我的照片上传功能内置多选功能,可让您同时上传照片和视频。您可以在此处查看整个教程并下载软件包:http://www.epixseo.com/index.php/facebook-php-3-3-1-and-javascript-sdk-graph-api-tutorial/

      更新

      $param 变量包含方法,在这种情况下是一个 fql 查询,以及实际的 fql 查询......在这种情况下,一个专辑查询可能是这样的:

      $param = array(
          'method' => 'fql.query',
          'query' => 'SELECT object_id FROM album WHERE owner="'.$user.'" AND name="'.$albumName. '"'
      );
      

      【讨论】:

      • 欢迎来到 Stack Overflow!在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往会被社区标记为“垃圾邮件”。如果您这样做,则通常意味着问题是重复的,因此请将它们标记为这样。
      • Gotcha 会做并将参考原始答案
      • 你的代码中的$param是什么?
      • 是的,我喜欢您的代码,如果您在代码中显示 $param 是什么,我想投票赞成。
      最近更新 更多