2011-05-25 115 views
1

我有一個問題,爲什麼有些項目不通過Facebook FQL查詢返回。Facebook FQL返回不一致的結果?

下面的查詢:

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

應該返回我的名字=「包豪斯」和類型是「音樂人/樂隊」的網頁。其結果是:

<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%20page_id,%20name,%20type,%20fan_count%20from%20page%20where%20page_id%20=%20109194179106090,我得到這樣的結果:

<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中,假設您確切地知道您想要什麼,並且不會因其他條件而將其縮小,在FQL中,添加頁面標識的約束會自動將其添加到查詢中。

+0

啊 - 這有助於解釋爲什麼它在這種情況下被添加 - 但不是更廣泛的問題(我應該更明確地詢問)爲什麼同一行不會在我發出第一個查詢時返回。也就是說,因爲name =「Bauhaus」和type ='Musician/Band',爲什麼我會得到2個回報,但不是我在第一個查詢中查找的具體項目。感謝您解釋其他行爲。 – 2011-05-26 12:31:10