0

我的网站上有 Facebook 的照片上传功能。请参阅下面的代码。

上传照片后,我会在 Facebook 上看到一个页面,其结果如下:

{
   "id": "3701830342510",
   "post_id": "1177996068_3701808141955"
}

我想要的是上传者将被转移到相册。

 <?php
       $app_id = "233929";
       $app_secret = "9f3fa8e1e0be4254e0";
       $post_login_url = "http://";
       $album_name = 'My photos';
       $album_description = 'Photos submitted by the members of ';

       $code = $_REQUEST["code"];

       //Obtain the access_token with publish_stream permission 
       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'];

         // Get the new album ID
         $album_id = 3597407572006;

         //Show photo upload form and post to the Graph URL
         $graph_url = "https://graph.facebook.com/". $album_id
           . "/photos?access_token=" . $access_token;
         echo '<form enctype="multipart/form-data" action="'
         .$graph_url. ' "method="POST">';
         echo 'Adding photo to : ' . $album_name .'<br/><br/>';
         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 photo" /><br/>';
         echo '</form>';
      }
 ?>
4

1 回答 1

1

该代码,我怀疑您从官方博客文章How-To: Use the Graph API to Upload Photos to a user's profile中获取的代码使用 facebook graph api url 进行表单操作,因此当图片出现时您会看到该页面已上传。你无法控制它。

您可以做的是使用您自己的 url 作为表单操作,然后使用 php 将图片上传到 facebook 并将用户重定向到您想要的任何位置。类似的东西:Facebook:php上传照片并张贴在墙上

于 2012-04-22T07:42:38.837 回答