我如何将这些数据发送到Facebook? facebook api照片上传

时间:2012-02-14 00:32:47

标签: php facebook facebook-graph-api

好的,所以facebook要我发送一个本地存储在服务器上的图像,但我将图像存储在数据库中的BLOB中...

try {
     $file = 'http://blaze-craft.com/matt/get.php?id=' . $lastid;
    $post_data = array(
        "message" => "Uploaded using the Funnymemes app!",
         "source" => $file
     );
    $data['photo'] = $facebook->api("/me/photos", 'post', $post_data);

  }
  catch (FacebookApiException $e) {

  }

但它没有上传......我从facebook api doc获得了这个代码,所以我不确定它们会发生什么?

任何想法?

1 个答案:

答案 0 :(得分:3)

要将照片上传工作,您必须解决这些问题:

  1. 图像文件应存储在文件系统中(即将BLOB保存回 磁盘)
  2. @数组中使用 $post_data前映像路径
  3. 为此我会做类似的事情:

    try
    {
        $url    = 'http://blaze-craft.com/matt/get.php?id=' . $lastid;
        $saveas = '/images/image.jpg';
        $res = @file_put_contents($saveas, file_get_contents($url));
    
        if($res === false) throw new Exception('Cannot fetch image');
    
        $post_data = array(
            "message" => "Uploaded using the Funnymemes app!",
            "source"  => '@' . $saveas;
         );
        $data['photo'] = $facebook->api("/me/photos", 'post', $post_data);
    
      }
      catch (FacebookApiException $e) {  }
      catch (Exception $e) { }