Facebook Graph API возвращает изображение вопросительного знака, изображение сообщения отображается непосредственно на странице сообщения

Я работаю над приложением Facebook Canvas. Целью приложения является доступ к учетным записям пользователей, сбор сообщений и предварительный просмотр их сообщений типа фото.

Это также позволяет тому же пользователю видеть сообщения других пользователей.

Если пользователь просматривает сообщения других пользователей, предварительный просмотр некоторых сообщений представляет собой изображение вопросительного знака вместо изображения в сообщении. Если пользователь открывает публикацию непосредственно на странице публикации в Facebook, изображение отображается.

Я использую Graph API для извлечения изображений из сообщений для предварительного просмотра. Текущий синтаксис

https://graph.facebook.com/<OBJECT_ID>/picture?type=normal&access_token=<ACCESS_TOKEN>

Я пытался использовать токен доступа к странице, а также долгоживущий токен доступа пользователя. В обоих случаях я получил картинку со знаком вопроса.

Мои вопросы:

  1. Почему невозможно увидеть реальное изображение через приложение, когда пользователь дал разрешения на изображения?
  2. Можно ли определить, является ли изображение изображением вопросительного знака?

ИЗМЕНИТЬ Я использую OBJECT_ID, а не идентификатор сообщения. Превью предназначено для постов с фотографиями. object_id в сообщении — это идентификатор изображения, который можно использовать в графическом API изображений.

EDIT 2 Должен использоваться только Graph API, ничего больше.

EDIT 3 Это разрешения, которые запрашиваются у пользователя: "электронная почта", "user_photos", "manage_pages", "read_stream", "read_insights", "user_hometown", "user_location", "user_birthday".


person EnterSB    schedule 09.10.2013    source источник
comment
Что касается вашего второго вопроса: developers.facebook.com/docs/reference/api /использование-картинок   -  person CBroe    schedule 09.10.2013
comment
@CBroe Я видел тег is_silhouette для использования ответа JSON, но это не проблема, так как я знаю, что есть изображение, и, как и на обычной странице поста в Facebook, я его вижу. Оба вопроса связаны с контекстом.   -  person EnterSB    schedule 09.10.2013


Ответы (1)


получить необходимые разрешения (user_photos и friends_photos), если вы хотите получить фотографии пользователей (или друзей), попробуйте fql, на мой взгляд, это намного лучше

https://developers.facebook.com/docs/reference/fql/

или график API и не забудьте получить необходимые разрешения

вот два примера fql

SELECT src_big FROM photo WHERE aid IN ( SELECT aid FROM album WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me()) AND modified_major > 1349374365) ORDER BY created DESC

SELECT src_big FROM photo WHERE owner IN (SELECT uid2 FROM friend WHERE uid1= 100001785452297 ORDER BY rand() LIMIT 0,20 ) ORDER BY created DESC

наконец, я рекомендую вам использовать facebook sdk для вашего языка программирования

person Pooya Estakhri    schedule 09.10.2013
comment
Мое решение работает для объектов. Если вы видите, есть ‹OBJECT_ID›, и, как я уже сказал, он работает для всех сообщений, кроме определенных. Это означает, что необходим идентификатор объекта, а не идентификатор сообщения. - person EnterSB; 09.10.2013
comment
Кроме того, использование FQL невозможно. Только графическое API. - person EnterSB; 09.10.2013
comment
Другое дело, знаете ли вы необходимые разрешения? Я обновил то, что нам нужно в исходном вопросе. - person EnterSB; 09.10.2013
comment
как друзья_фото связаны со страницами, которые администрирует пользователь? - person EnterSB; 09.10.2013
comment
Проблема не в фотографиях пользователей или фотографий друзей пользователей. Проблема в том, что страницы пользователей публикуют фото. Пожалуйста, примите во внимание, что я не буду использовать FQL. Следует избегать всех решений с FQL. - person EnterSB; 09.10.2013
comment
Вы хотите получать фотографии со страниц, на которых пользователь является их администратором? - person Pooya Estakhri; 09.10.2013
comment
& fql не является независимым способом получения информации, доступной через граф API. - person Pooya Estakhri; 09.10.2013
comment
голосование против - не лучший способ поблагодарить кого-то, кто пытается вам помочь: D - person Pooya Estakhri; 09.10.2013
comment
давайте продолжим это обсуждение в чате - person EnterSB; 09.10.2013