Загрузить фото на страницу друзей / фанатов с Android - PullRequest
2 голосов
/ 04 февраля 2012

Я хочу загрузить фотографию из моего приложения для Android на фан-страницу Facebook с помощью API Facebook.

Когда я смотрю в пример приложения для Android в hackbook ( ссылка ).код выглядит следующим образом для загружаемой фотографии:

Bundle params = new params.putString("url",
"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg");                            params.putString("caption",
    "FbAPIs Sample App photo upload");

Utility.mAsyncRunner.request("me/photos", params,
    "POST", new PhotoUploadListener(), null);

Этот код работает, он публикует фотографию на моей странице в Facebook.Но я не хочу, чтобы фотография была размещена на моей странице, а на фан-странице.

Как объяснено в документации на Facebook, меня можно изменить с помощью идентификатора пользователя Facebook.Я попытался изменить "я / фото" в "[fanpagename] / photo" или "[fanpageID] / photo", но это не сработало.Когда я использовал имя пользователя, я получил ошибку, когда я использовал идентификатор, он разместил фотографию на своей странице.В фото документации GraphAPI ( ссылка ) нет примеров или объяснений того, как загрузить фотографию на фан-страницу.

также

params.putString("to", [fbid]);

не работает.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

Я был занят этим исследованием в течение трех полных дней и не нашел ответа на мою проблему.Но я думаю, что у меня есть объяснение этому.

, если пользователь публикует фотографию на Friend / fan_page с помощью официального приложения для Android FB, он использует «канал» с изображением (URL-ссылка).Пользователь не может видеть на своей стене, что он на самом деле поделился или опубликовал картинку на странице друга / фаната.(например: «Боб - опубликовал фотографию на CocaCola»)

Это, вероятно, причина, по которой эта функция отключена, поскольку разработчики могли использовать ее для отправки фотографий на все виды друзей / фан-страниц без уведомления пользователя.об этом.

Я пришел к этой гипотезе, потому что нашел какую-то работу вокруг.Сначала загрузите фотографию в собственный альбом пользователя.получите URL этой фотографии, а затем опубликуйте «ленту» на странице друга / фаната с изображением (url-lnk).Затем Facebook выдал эту ошибку: «Изображение FBCDN не разрешено в потоке», другими словами, вы не можете использовать фотографии, которые находятся на домене веб-сайта FB для ссылки.Так что я думаю, что в отделе разработки Facebook есть большая ошибка / лень: P, а жаль, потому что это хорошая функция для социальных сетей для мобильных приложений.

1 голос
/ 04 февраля 2012

Вы находитесь на правильном пути, но для публикации фотографий на странице вам потребуются разрешения publish_stream и manage_pages и токен доступа к странице, чтобы подтвердить, что они у вас есть. Вы можете прочитать больше об этом здесь:

  1. http://developers.facebook.com/docs/reference/api/page/#photos
  2. http://developers.facebook.com/docs/reference/api/page/#page_access_tokens

Пример кода (с использованием PHP SDK, но логика должна быть одинаковой на любом языке) здесь: https://stackoverflow.com/a/7222078/164439

Обновление:

Если вы хотите публиковать на странице Wall / Feed (не будучи администратором страницы), вы можете сделать это без разрешения «Управление страницами» и содержимого токена доступа.

Но это не то же самое, что публикация объекта Photo в коллекцию страницы Photos , о чем я и думал. Вы действительно хотите сделать обычную публикацию на странице с вложением рисунка.

Вот несколько ресурсов для этого:

  1. API Facebook Post: http://developers.facebook.com/docs/reference/api/post/
  2. http://facebook.stackoverflow.com/questions/691425/how-do-you-post-to-the-wall-on-a-facebook-page-not-profile
  3. http://facebook.stackoverflow.com/questions/5756474/post-to-facebook-page-wall
  4. Использование Facebook Graph, чтобы просто опубликовать сообщение на стене просто с помощью javascript

Удачи!

...