Непредвиденная ошибка при публикации фотографии на странице

Я пытаюсь опубликовать фотографию на странице, используя следующее:

FacebookClient client = new DefaultFacebookClient(destinationAccessToken);
BinaryAttachment attachment = BinaryAttachment.with(imageName, imageInputStream);
Photo photoResponse = client.publish("/me/photos", Photo.class, attachment);

Я получаю следующий ответ:

{
    "error": {
        "message":"An unexpected error has occurred. Please retry your request later.",
        "type":"OAuthException",
        "code":2
    }
}

Когда я использую тот же код для публикации на стене пользователя, он работает нормально.

Я также пытался отправить сообщение на "/{page id}/photos" с тем же результатом.

Маркер доступа к месту назначения имеет разрешения manage_pages, photo_upload, publish_actions и publish_stream среди прочих.

Что я здесь делаю неправильно?

ОБНОВЛЕНИЕ:

Если я опубликую в заранее определенный альбом, используя "/{album id}/photos", тогда это сработает. Цитируя эту запись в блоге разработчиков Facebook:

https://graph.facebook.com/USER_ID/photos — фотография будет опубликована в альбоме, созданном для вашего приложения. Мы автоматически создаем альбом для вашего приложения, если он еще не существует. Все фотографии, загруженные таким образом, будут добавлены в этот же альбом.

Так это поведение нарушено для страниц? Или я что-то здесь не понимаю?

ОБНОВЛЕНИЕ 2:

Я нашел отчет об ошибке для этой проблемы, поэтому публикую его как ответ.

ОБНОВЛЕНИЕ 3:

Ошибка, кажется, была решена.


person Paul Bellora    schedule 04.05.2012    source источник
comment
См. API конструктора, добавьте параметр accessToken для DefaultFacebookClient. Или используйте общедоступный путь (?).   -  person Joop Eggen    schedule 07.05.2012
comment
@JoopEggen - я не понимаю, что вы имеете в виду - можете перефразировать? Пожалуйста, напишите как ответ, если это должно быть.   -  person Paul Bellora    schedule 07.05.2012
comment
new DefaultFacebookClient(getAccessToken()) но, боюсь, у вас их нет. Вам придется дождаться реального ответа. Это время ожидания, связанное с сеансом, для разрешения доступа. Я не настоящий программист facebook.   -  person Joop Eggen    schedule 07.05.2012
comment
@JoopEggen - у меня ничего нет? Вы говорите, что срок действия токена доступа истек?   -  person Paul Bellora    schedule 07.05.2012
comment
Вы не предоставили его и, следовательно, получили исключение OAuth. Интересно, почему никто более знающий, как я, еще не ответил.   -  person Joop Eggen    schedule 07.05.2012
comment
@JoopEggen - я предоставляю один: new DefaultFacebookClient(destinationAccessToken), где destinationAccessToken — это токен доступа к странице.   -  person Paul Bellora    schedule 07.05.2012


Ответы (1)


Я нашел отчет об ошибке Facebook, соответствующий этому поведению:

http://developers.facebook.com/bugs/355536551171535

Так что, казалось бы, я не делаю ничего плохого. Я предполагаю, что временный обходной путь будет состоять в том, чтобы проверить заранее определенный альбом и при необходимости создать его, а затем опубликовать в нем. (Обратите внимание, что разрешение user_photos не требуется для этого обходного пути, поскольку альбомы/фотографии на страницах всегда общедоступны).

person Paul Bellora    schedule 07.05.2012