Я пытаюсь опубликовать фотографию на странице, используя следующее:
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:
Ошибка, кажется, была решена.
new DefaultFacebookClient(getAccessToken())
но, боюсь, у вас их нет. Вам придется дождаться реального ответа. Это время ожидания, связанное с сеансом, для разрешения доступа. Я не настоящий программист facebook. - person Joop Eggen   schedule 07.05.2012new DefaultFacebookClient(destinationAccessToken)
, гдеdestinationAccessToken
— это токен доступа к странице. - person Paul Bellora   schedule 07.05.2012