Facebook API API и PHP SDK вопросы

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

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', array ('method' => 'delete'));

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

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

EDIT: Вот полное решение, которое я нашел для загрузки фотографий в 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); 

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

Прочтите документацию

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

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

 $ Имя_файла = "/ 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);