У меня есть пара проблем с использованием 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);