发送图片>但不上传图片

时间:2013-02-24 23:46:50

标签: php facebook attachment

我正在玩facebook sdk,并希望允许我们的用户将图片发布到他们的相册,但不能上传图片。

基本上,我们为登录用户提供动态页面,可以动态创建动态图像。

检查facebook SDK,我可以让一切工作正常,如果我允许用​​户“上传”图像,但我无法弄清楚如何附加已经在网页上的图像..

例如。让我们说页面上的图片是https://stackoverflow.com/images/my_image.jpg

在facebook SDK中:(剪切代码) - 用于上传图片

if(empty($code)){ 
      $dialog_url= "http://www.facebook.com/dialog/oauth?"
       . "client_id=" .  $app_id 
       . "&redirect_uri=" . urlencode( $post_login_url)
       .  "&scope=publish_stream";
      echo("<script>top.location.href='" . $dialog_url 
      . "'</script>");
     }
    else {
      $token_url="https://graph.facebook.com/oauth/access_token?"
       . "client_id=" . $app_id 
       . "&redirect_uri=" . urlencode( $post_login_url)
       . "&client_secret=" . $app_secret
       . "&code=" . $code;
      $response = file_get_contents($token_url);
      $params = null;
      parse_str($response, $params);
      $access_token = $params['access_token'];

     // Show photo upload form to user and post to the Graph URL
     $graph_url= "https://graph.facebook.com/me/photos?"
     . "access_token=" .$access_token;

     echo '<html><body>';
     echo '<form enctype="multipart/form-data" action="'
     .$graph_url .' "method="POST">';
     echo 'Please choose a photo: ';
     echo '<input name="source" type="file"><br/><br/>';
     echo 'Say something about this photo: ';
     echo '<input name="message" 
         type="text" value=""><br/><br/>';
     echo '<input type="submit" value="Upload"/><br/>';
     echo '</form>';
     echo '</body></html>';

所以我的问题是,有没有办法可以发送特定图片,而不是在上面的表格中上传图片?

这可能是人类已知的最明显的问题,我只是谷歌试图弄明白。

1 个答案:

答案 0 :(得分:1)

您只能以这种方式发布图像链接。如果您想将真实图像发布到Facebook,则必须先将图像下载到服务器。

file_get_contents(PATH_TO_IMAGE)这样简单的工作就可以了。一旦将文件发布到Facebook,您就可以随时从服务器中删除该文件。

有一些方法详细here有关如何上传照片而没有文档中提供的上传表单。