PHP + Facebook: как загрузить фото на стену?

Обычный способ, которым я публикую сообщения на стене своей страницы, выглядит следующим образом:

        $args = array(
            'access_token'  => $page_access_token,
            'message'       => $title,
            'link'          => $link,
            'name'          => 'This is title',
            'description'   => 'This is a testing of the posting on page',
            //'picture'     => 'http://www.example.com/directory/images/30.jpg'
        );

        $post_id = $facebook->api("/$pageId/feed","post",$args);

Но как я могу разместить изображения на своей стене - альтернатива: нажмите кнопку ЗАГРУЗИТЬ, выберите изображение -> и загрузите, изображение на стене.

У меня на FTP есть несколько изображений, и я хотел бы загрузить их на свою стену.

заранее спасибо


person user984621    schedule 15.11.2012    source источник


Ответы (3)


https://developers.facebook.com/blog/post/498/ эта ссылка могу помочь тебе...

Вот несколько различных способов загрузки фотографий с помощью Graph API. В примерах предполагается, что вы создали экземпляр объекта $facebook и имеете действительный сеанс.

1 — Альбом приложения по умолчанию для текущего пользователя В этом примере фотография будет загружена в альбом приложения по умолчанию для текущего пользователя. Если альбом еще не существует, он будет создан.

$facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH);

$data = $facebook->api('/me/photos', 'post', $args); print_r($data); 2 — Целевой альбом` В этом примере фотография загружается в определенный альбом.

$facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH);

$data = $facebook->api('/'. $ALBUM_ID . '/photos', 'post', $args); print_r($data);

person Pseudorandom    schedule 15.11.2012
comment
что это за библиотека, которая содержит объект $facebook - person Andi; 05.10.2017
comment
@IchHabsDrauf проверьте последние SDK в Facebook. developers.facebook.com/docs/apis-and-sdks - person Pseudorandom; 01.11.2017

Я НЕ использую включение API Facebook, поэтому я пытаюсь интегрировать материалы Facebook, используя только запросы curl непосредственно к URL-адресу Graph API.

Итак, чтобы размещать изображения на стене пользователя, самым простым способом, который я нашел, является просто указание URL-адреса изображения.

<?php
$url = "https://graph.facebook.com/me/photos?access_token=" . $FacebookToken;
$url = $url . "&url=" . urlencode("http://www.url.to/the/image.jpg");
$url = $url . "&message=" . urlencode($Description);
$url = $url . "&method=POST";

$data = file_get_contents($url); // Can change to curl if
                                 // file_get_contents is blocked on your host
?>
person Daniel Ribeiro    schedule 29.03.2013

Вот краткий пример, восстановленный из моих кодов:

$fbPost = curl_init();
curl_setopt($fbPost, CURLOPT_RETURNTRANSFER, true);
curl_setopt($fbPost, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($fbPost, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($fbPost, CURLOPT_POST, true);
curl_setopt($fbPost, CURLOPT_ENCODING, 'gzip');

$photoInfo = array(
    'access_token' => <USER_ACCESS_TOKEN>,
    'name' => <IMAGE_DESCRIPTION>,
    'url' => <ABSOLUTE_URL>/images/photo.jpg',
);

curl_setopt($fbPost, CURLOPT_URL, 'https://graph.facebook.com/<USER_ID>/photos');
curl_setopt($fbPost, CURLOPT_POSTFIELDS, $photoInfo);
$result = json_decode(curl_exec($fbPost), true);
curl_close($fbPost);
person Alexis B.    schedule 30.03.2013