Обычный способ отправки сообщений на мою страницу:
$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);
Но как я могу разместить изображения на стене – альтернатива: нажмите кнопку UPLOAD, выберите изображение -> и загрузите, изображение будет на стене.
У меня есть на моем FTP некоторые изображения и эти, которые я хотел бы загрузить на свою стену.
заранее спасибо
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);
Я НЕ использую API Facebook, поэтому я пытаюсь интегрировать материал Facebook, используя только curl-запросы непосредственно к URL-адресу Graph API.
Поэтому, чтобы размещать изображения на стене Пользователя, самый простой способ – просто указать URL-адрес изображения.
<?php $url = "https://graph.facebook.com/me/photos?access_token=" . $FacebookToken; $url = $url . "&url=" . urlencode("http://img.ruphp.com/php/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 ?>
Вот краткий пример, восстановленный из моих кодов:
$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);