2013-02-24 4 views
0

Я играю с 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>'; 

Так что мой вопрос, есть ли способ, которым мы можем послать определенный образ, а не загружать изображение в вышеуказанную форму?

Это может быть самый очевидный вопрос, который известен человеку, я просто пойду в Google, пытаясь понять это.

ответ

1

Вы можете разместить ссылку на изображение таким образом. Если вы хотите опубликовать аксиальное изображение на Facebook, вам сначала нужно загрузить изображение на свой сервер.

Что-то простое, как file_get_contents(PATH_TO_IMAGE) будет работать нормально. Вы всегда можете удалить файл со своего сервера после его публикации в Facebook.

Есть несколько методов, подробно описанных here о том, как загрузить фотографию без формы загрузки, указанной в документации.

+0

Спасибо, так как это будет отображаться как поле формы? или он скрыт? – 422

+1

@ 422 - Я добавил ссылку на другое сообщение на сайте, которое объясняет несколько способов загрузки ... – Lix

+0

Как ни странно, я читал эту страницу, прежде чем я разместил здесь. – 422

Смежные вопросы