API для Facebook graph и вопросы по PHP SDK - PullRequest
1 голос
/ 09 августа 2010

У меня есть пара проблем с использованием api facebook graph.

1).Когда я пытаюсь загрузить фотографию, я получаю следующую ошибку "(# 324) Требуется загрузить файл".

  $attachement = array(
                            'access_token'=> (...)',
                            'name' => 'uploaded foto',
                            'source' => 'C:\Documents and Settings\Username\Desktop\1.jpg'
                    );

        $fb_foto = $fb->api('me/photos','POST',$attachement);

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

2).Как я могу удалить объект из Facebook ?.(сообщение на стене, например).Я пробовал это: $ fb-> api ('/ post_id', 'POST', массив ('method' => 'delete'));

Но я получаю ошибку "неподдерживаемый запрос POST".

Любая помощь будет оценена.

РЕДАКТИРОВАТЬ: Вот полное решение, которое я нашел для загрузки фотографий в Facebook.Вам нужно иметь версию 2.1.1 или выше PHP SDK

 $fb = new Facebook(array(
                        'appId'  => ...,
                        'secret' => ...,
                        'cookie' => true,
        ));

$fb->setFileUploadSupport(true);
      $attachement = array(
                            'access_token'=> '...',
                            'name' => 'uploaded foto',
                            'source' => '@absolute_path_to_the_file'
                    );



      $fb_foto = $fb->api('me/photos','POST',$attachement);

Ответы [ 3 ]

1 голос
/ 09 августа 2010

Чтение Документация

curl -F 'access_token=...' \
     -F 'source=@file.png' \
     -F 'message=Caption for the photo' \
     https://graph.facebook.com/me/photos

Посмотрите, как форматируется параметр source?

$fb_foto = $fb->api('me/photos','POST',array(
    'access_token' => (...)
  , 'message'      => 'Caption'
  , 'source'       => '@' . realpath( 'path/to/file' )
));

Чтобы удалить фотографии, снова В документации есть ваш ответ: Выполните запрос DELETE

$fb->api( '/PHOTO_ID', 'DELETE' );
1 голос
/ 21 октября 2010

Я использую этот метод с новым php-sdk (v2.1.1, facebook-php-sdk-v2.1.1-0-g08909f3.zip), чтобы загрузить фотографию для нового события.Приведенный ниже код php создает событие.

$fname="/tmp/foo.jpg";
$attachment =  array(
        'access_token' => $facebook->getAccessToken(),
        'name' => substr(event_name),
        'description' => my_description,
        'start_time' => my_start_time,
        'link' => my_link,
        'source'=> '@'.$fname
        );
$result = $facebook->api('/me/events', 'POST', $attachment);
1 голос
/ 09 августа 2010

Что касается вашей второй проблемы, я помню, что читал где-то о запросе DELETE вместо POST. Увидеть: http://developers.facebook.com/docs/api#deleting

...