У меня была эта проблема, я хотел иметь возможность загружать изображение в зарегистрированные фотографии пользователя и в альбом своей учетной записи приложения.
Я имею в виду, что изображение всегда будет загружаться в альбом, который Facebook автоматически создает с вашимИмя приложения.в вашей учетной записи и зарегистрированной учетной записи пользователя, когда они дают разрешения для вашего приложения.
, поэтому, зная это, я сделал следующее.
Для управления разрешениями я использую массив с необходимыми разрешениями, я использовалэто
var permissions:Array = new Array("publish_stream", "user_photos" , "publish_actions");
FacebookDesktop.login(onLogin, permissions);
после завершения входа в систему, затем я могу загрузить изображение, используя это
Для загрузки фотографий в зарегистрированный альбом пользователя
// photoBitmap is my image loaded and placed in a Bitmap var
// photoMessage is an string with the message you want to show in the image
// fileName is an string with the name you want to use for the image
var photoParams:Object = {image: photoBitmap, message: photoMessage, fileName: photoName};
FacebookDesktop.api("me/photos", uploadCompleteHandle, photoParams, "POST");
function uploadCompleteHandle(success:Object, fail:Object):void{
if(success){
trace("Image uploaded successfuly");
}else{
trace("Fail uploading image");
}
}
Для загрузки изображения в приложениеАльбом аккаунта Я использую это:
var photoParams:Object = {image: photoBitmap, message: photoMessage, fileName: photoName, access_token: accessToken};
FacebookDesktop.api("/" + albumId + "/photos", uploadCompleteHandle, photoParams, "POST");
private function uploadCompleteHandle(success:Object, fail:Object):void{
if(success){
trace("Image uploaded successfuly");
}else{
trace("Fail uploading image");
}
}
Обратите внимание, что его изменение заключается в том, что я добавляю дополнительный параметр (access_token) и меняю ("я / фотографии") на ("/" + albumId + "/ photos") для возможности загрузки фотографий в любой фотоальбом в моей учетной записи Facebook с использованием идентификатора альбома.если вы хотите загрузить только в альбом приложения, вы можете использовать ("me / photos") , но мне нравится ("/" + albumId + "/ photos") , потому что я могувыберите другой альбом вместо автоматически созданного альбома Facebook
Чтобы найти идентификатор альбома, просто перейдите в свой альбом в Facebook, и в конце страницы вы увидите что-то вроде этого: (https://www.facebook.com/media/set/?set=a.411960374564668.85712.100120829275312&type=3&l=216e24dddf) альбомИдентификатор этой части 100120829275312
для работы с этим кодом вам нужен access_token. Чтобы получить его, вам нужно перейти к настройке приложения в Facebook и добавить протокол Open Graph
при создании протокола Open Graph выберите этот параметр для своего токена
Тип действия -> Опубликовать
Объект -> Статья
Когда вы выбираете тип действия, кликните по правой ссылке («Получить код»)
, и вы увидите окно с большим количеством кода для использования в другом случае.внутри этого кода вы можете увидеть значение для access_token, что-то вроде this
AAAGl5aaLlYYBAGqWHMGbxmasf354R15qXf12xAfOBFskr3OZBSEPw7H7rGt9bH4ZCwHS7Eoft9m8q91NYqzY3WOoGHYDnEgybsjs5555