FQL получить действительное фото - PullRequest
0 голосов
/ 24 июня 2011

Я написал fql для получения фотографии из Facebook.

fql = 'SELECT caption, owner, pid, src_big, created 
         FROM photo 
        WHERE aid IN (SELECT aid 
                        FROM album 
                       WHERE owner IN (111111) ) 
        LIMIT 1,10';

Но я обнаружил, что иногда приложение не может получить фотографию из столбца src_big.

Как написать fql иликакие-нибудь другие методы, чтобы удостовериться, что возвращенный URL фотографии (egsrc_big) доступен?

1 Ответ

0 голосов
/ 24 июня 2011

Взято из Facebook API:

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

Я думаю, что ваша проблема в том, что вы не всегда получаете изображение src_big. Вы также должны запросить изображение src_small, как запасной вариант. Кроме того, вы можете добавить собственное изображение по умолчанию, чтобы, если ни одно из этих изображений не было доступным или неприемлемым, вы могли просто использовать изображение по умолчанию.

Например:

    fql = 'SELECT caption, owner, pid, src_big, src_small, created 
         FROM photo 
        WHERE aid IN (SELECT aid 
                        FROM album 
                       WHERE owner IN (111111) ) 
        LIMIT 1,10';

А затем в своем коде проверьте что-то вроде ....

//Where results = photo results array...

for(var i = 0; i<results.length; i++){
  if(results[i].src_big == null){
    if(results[i].src_small == null){
     //Use default image
    }
    else{
      //Use src_small
    }

  }
  else{
    //use src_big
  }

}
...