В нашем блоге разработчиков есть хорошее руководство о том, как использовать 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