Facebook FQL возвращает противоречивые результаты?

#facebook #facebook-fql

#Facebook #facebook-fql

Вопрос:

У меня возник вопрос о том, почему некоторые элементы не возвращаются с помощью Facebook FQL запроса.

Следующий запрос:

 https://api.facebook.com/method/fql.query?query=select page_id, name, type, fan_count from page where name='Bauhaus' and type = 'MUSICIAN/BAND' order by fan_count desc
  

Предполагается, что он возвращает мне страницы, название которых = ‘Bauhaus’, а тип — ‘Музыкант / группа’. Результатом является:

 <fql_query_response list="true">
<page>
<page_id>186907181359330</page_id>
<name>Bauhaus</name>
<type>MUSICIAN/BAND</type>
<fan_count>1</fan_count>
</page>
<page>
<page_id>175833025805207</page_id>
<name>Bauhaus</name>
<type>MUSICIAN/BAND</type>
<fan_count>0</fan_count>
</page>
</fql_query_response>
  

Если я затем добавлю ограничение, page_id=109194179106090, которого нет в приведенном выше списке: https://api.facebook.com/method/fql.query?query=select page_id, name, type, fan_count from page where page_id = 109194179106090 , я получу этот результат:

 <fql_query_response list="true">
<page>
<page_id>109194179106090</page_id>
<name>Bauhaus</name>
<type>MUSICIAN/BAND</type>
<fan_count>100527</fan_count>
</page>
</fql_query_response>
  

Почему добавление ограничения должно возвращать мне элемент, которого нет в исходном запросе?

Ответ №1:

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

Комментарии:

1. Ах — это полезно для объяснения того, почему он добавляется в этом случае — но не более широкого вопроса (который я должен был задать более явно) о том, почему эта же строка не возвращается при выполнении первого запроса. То есть, поскольку name = «Bauhaus» и type = «Музыкант / группа», почему я получаю 2 возврата, но не конкретный элемент, который я ищу в первом запросе. Спасибо, что объяснили другое поведение.