Загрузить изображение на страницу фан-задачи - PullRequest
0 голосов
/ 28 июля 2011

.. Я пытаюсь загрузить изображение в FB, используя FaceBookDesktop api для flash .... Я использую идентификатор страницы поклонника для загрузки изображения, но это всегда идет в мой собственный альбом: /

У кого-нибудь есть идеи?

Приветствия

Ответы [ 4 ]

1 голос
/ 14 декабря 2011
var values:Object = {message:String(nomFotoASubir), fileName:'FILE_NAME',image: sub};
FacebookDesktop.api('/'+albumID+'/photos', handleUploadComplete, values,'POST');    

Как и в случае с ответом jBit, я действительно не знаю, требуется ли первый '/' ... Anoth.Что может вызвать ошибку, так это то, что вам нужен токен доступа к странице, а не ваш токен доступа пользователя.Вы можете легко получить этот токен доступа, см. Эту заметку и ссылку ...

Токены доступа к странице

Для выполнения следующих операций в качестве страницы, а нетекущий пользователь, вы должны использовать токен доступа к странице, а не токен доступа пользователя, обычно используемый для чтения объектов Graph API.Этот токен доступа можно получить, введя HTTP GET для / USER_ID / account с разрешением manage_pages.Это вернет список страниц (включая страницы профиля приложения), к которым пользователь имеет административный доступ, вместе с access_tokens для этих страниц.Кроме того, вы можете получить токен доступа к странице для отдельной конкретной страницы, введя HTTP GET для / PAGE_ID? Fields = access_token с разрешением manage_pages, как описано выше.Публикация на странице также требует разрешения publish_stream, если не указано иное.

ссылка на страницу для разработчиков

Пожалуйста, если некоторые ответы верны, отметьте егокак правильно, и если у вас есть другие проблемы, сообщите нам, чтобы мы могли помочь вам решить проблему и другие подобные проблемы ...

0 голосов
/ 30 июля 2012

У меня была эта проблема, я хотел иметь возможность загружать изображение в зарегистрированные фотографии пользователя и в альбом своей учетной записи приложения.

Я имею в виду, что изображение всегда будет загружаться в альбом, который 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

0 голосов
/ 29 июля 2011

По умолчанию при загрузке изображения изображение перейдет на страницу текущего пользователя. Вам нужно получить токен аутентификации для вашей фан-страницы, который авторизует всех пользователей приложения как загрузчиков приложения. Таким образом, у вас будет токен для пользователя, а также для приложения. Если вы используете токен приложения, вы можете загрузить его.

0 голосов
/ 28 июля 2011

Пробовали ли вы публиковать в альбоме (то есть, используя идентификатор целевого альбома) вместо самой фан-страницы?

var params:Object = {image:bitmap, fileName:'FILE_NAME'};
Facebook.api('ALBUM_ID/photos', myCallbackFunction, params, "POST");
...