Как создать альбом facebook и загрузить фотографии в альбом facebook с помощью Android Java?

Кто-нибудь может привести пример, как создать альбом и загрузить фотографии в альбомы facebook с помощью java с устройства Android? Я нашел способ, как загружать фотографии по одной на стену в фейсбуке, но не нашел способ создать альбом и загрузить фотографии.

Большое Вам спасибо,


person orikoko    schedule 12.08.2012    source источник
comment
Если ответ решил ваш вопрос, вы должны принять его. Так работает ТАК.   -  person Prizoff    schedule 24.11.2012


Ответы (1)


В нашем блоге разработчиков есть хорошее руководство о том, как использовать Graph API для загрузки фотографий. Хотя код написан на PHP, вы можете легко перевести пример кода на Java. Соответствующей частью руководства, вероятно, является сценарий 2: создание нового альбома и добавление фотографии.

Чтобы создать новый альбом с помощью нашего Graph API, сначала необходимо иметь токен доступа с разрешением publish_stream. Затем, чтобы создать новый альбом:

Bundle params = new Bundle();
params.putString("name", "My Test Album Name Here");
params.putString("message", "My Test Album Description Here");
mAsyncRunner.request("me/albums", params, "POST", new CreateAlbumListener());

И в вашем классе CreateAlbumListener возьмите только что созданный идентификатор альбома в методе onComplete(). Когда у вас есть идентификатор альбома, который вы только что создали, чтобы загрузить фотографии в этот альбом:

1) Загрузите локальную фотографию (например, из галереи), предполагая, что у нас есть переменная data, которая представляет собой массив байтов фотографии, которую мы хотим загрузить.

Bundle params = new Bundle();
params.putByteArray("photo", data);
params.putString("caption", "Test description here");
mAsyncRunner.request("ALBUM_ID/photos", params, "POST");

2) Загрузить с удаленного устройства (например, URL-адрес фотографии)

Bundle params = new Bundle();
params.putString("url", "http://www.lolbrary.com/content/454/facebook-cat-9454.jpg");
params.putString("caption", "Cats are awesome");
mAsyncRunner.request("ALBUM_ID/photos", params, "POST");

ALBUM_ID — это переменная, в которой хранится идентификатор альбома, который вы только что создали. Вы можете проверить HackBook, это образец приложения, которое мы создали, чтобы показать вам все различные вызовы, которые вы можете сделать с Android SDK.

Дайте мне знать, если это поможет.

person Jesse Chen    schedule 13.08.2012
comment
Огромное спасибо за помощь, - person orikoko; 17.08.2012
comment
Привет Джесси. Вы мне очень помогли, я ценю это. - person orikoko; 18.08.2012
comment
Есть небольшая проблема. Подскажите, пожалуйста, как из ответа получить созданный альбом_id? - person orikoko; 18.08.2012
comment
В вашем CreateAlbumListener вы должны реализовать метод onComplete. Метод onComplete имеет переменную String с именем response, проанализируйте response в методе onComplete, чтобы извлечь идентификатор альбома. Дайте мне знать, если это поможет! - person Jesse Chen; 19.08.2012
comment
Привет... Я пытаюсь написать эту функцию: mAsyncRunner.request(ALBUM_ID/photos, params, POST); , но он сказал: запрос метода (String, Bundle, AsyncFacebookRunner.RequestListener) в типе AsyncFacebookRunner неприменим для аргументов (String, Bundle, String).... Знаете ли вы, должен ли я поместить какой-либо новый класс прослушивателя как последний параметр, как я делал при создании альбома? - person orikoko; 23.08.2012
comment
@orikoko Я думаю, вам может понадобиться null в конце, я мог забыть добавить это в код - person Jesse Chen; 28.09.2012
comment
@JesseChen, вы видите это: stackoverflow.com/questions/13677592/ - person Mahdi Giveie; 03.12.2012