Почему этот FQL не возвращает изображения профиля для некоторых пользователей? - PullRequest
1 голос
/ 17 марта 2011

Этот FQL взят из приложения, которое работает уже несколько дней и тщательно протестировано:

SELECT src_big FROM photo WHERE aid IN (SELECT aid FROM album WHERE owner = {uid} AND type = 'profile')

Я использую API-интерфейс JS, связанный с ActionScript, и часть {uid} заменяется любым идентификатором uid, соответствующим элементу списка, выбранному в браузере друга. Дело в том, что большую часть времени этот запрос работает нормально и хорошо, возвращаются большие изображения (хотя обычно это не полный набор подходящих изображений профиля), но в некоторых случаях запрос вообще ничего не возвращает, просто пустой массив. Проверка альбома изображений профиля пользователя подтверждает, что есть много изображений на выбор. Кто-нибудь знает, почему это может быть?

Ответы [ 2 ]

1 голос
/ 17 марта 2011

Это связано с тем, что некоторые поля являются видимыми для общественности, а другим требуются разрешения, если вы переходите к методу users.getInfo, как указано в таблице user.Вы найдете список открытых полей, которые вы можете запросить для любого пользователя:

  • uid
  • first_name
  • middle_name
  • фамилия
  • имя
  • локаль
  • current_location
  • филиалы (только региональный тип)
  • pic_square
  • profile_url
  • sex

Теперь запрос к таблице album, скорее всего, ничего не даст, если пользователь не предоставил вам разрешения, но стоит попробовать следующее:

SELECT pic_big FROM user WHERE uid={uid}

Если это не сработало, возможно, вам придется придерживаться pic_square из списка выше.

Также стоит отметить, что все поля pic могут быть пустыми:

pic_big URL-адрес изображения профиля самого большого размера для пользователя.запрашивается.Изображение может иметь максимальную ширину 200 пикселей и максимальную высоту 600 пикселей. Этот URL может быть пустым .

Это относится ко всем изображениям, указанным в таблице user.

ВАЖНОЕ ПРИМЕЧАНИЕ:
Полезно всегда иметь запасное изображение (универсальное изображение) для использования всякий раз, когда изображение не возвращается!

1 голос
/ 17 марта 2011

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

...