Загрузить изображение на странице профиля приложения с помощью API Facebook graph - PullRequest
0 голосов
/ 16 ноября 2011

Я создаю приложение, в котором пользователь может загрузить изображение, которое будет храниться на странице профиля приложений и в профиле пользователя. Я использую код ниже, чтобы сделать эту работу

<?php
       $app_id = "XXXXXXXXXXXXXXXX";
       $app_secret = "XXXXXXXXXXXXXXXXXXXXXXXX";
     $post_login_url ="XXXXXXXXXXXXXXXXXXXXXXX";

       $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'];
        // first get your album id, let's assume you need to create it
        // create this before hand and you can just reference the id
        $attachment = array('access_token'=> ACCESS_TOKEN, 'name'=>$ablum_name);
        try{
        $album_resp = $facebook->api("/{$this->page_id}/albums", 'POST', $attachment);
        }catch(Exception $e){
        throw new Exception("Failed to create album: ". $e->getMessage());
        }
        $album_id = $album_resp['id'];
         // Show photo upload form to user and post to the Graph URL

        $graph_url= "https://graph.facebook.com/photos?"
        . "access_token=" .$access_token;


         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>';

      }
?>

С этим кодом он переходит в профиль пользователя, но не на страницу профиля приложения. Кто-нибудь может сказать, что с ним не так? Или есть другой способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...