2013-03-30 3 views
1

다음 FQL 쿼리를 작성했지만 필터를 추가하는 데 문제가 있습니다.category_list를 통한 FQL 쿼리

SELECT 
about, 
attire, 
categories, 
checkins, 
company_overview, 
culinary_team, 
description, 
fan_count, 
food_styles, 
founded, 
general_info, 
general_manager, 
hours, 
keywords, 
location, 
mission, 
name, 
page_id, 
page_url, 
parent_page, 
parking, 
payment_options, 
phone, 
price_range, 
products, 
public_transit, 
restaurant_services, 
restaurant_specialties, 
talking_about_count, 
TYPE, 
username, 
website, 
were_here_count, 
pic 
FROM page 
WHERE page_id IN 
    (SELECT 
    page_id, 
    latitude, 
    longitude 
    FROM place 
    WHERE distance(latitude, longitude, '-30.03852', '-51.17877') < 50000 
    LIMIT 10) 

문제는 단지 식당 관련 페이지가 필요하다는 것입니다. 나는 페이지 테이블에서 "카테고리"를 통해 그것을 필터링 할 수 있다고 생각하지만 사용 방법은 모른다.

어떻게하면됩니까? 사용할 수있는 방법 (categories.contains ("Restaurant")과 같은 것)에 대한 설명서는 어디에 있습니까?

고마워요!

+0

카테고리는 배열로 입력됩니다. - https://developers.facebook.com/docs/reference/fql/page – MatheusJardimB

답변

2

찾으시는 내용은 type 필드에 포함되어 있습니다. 당신은 TYPE을 썼습니다. 그리고 그것은 틀 렸습니다.

유형 (문자열) : 페이지 유형. 예 : 당신이해야 할 것

제품/서비스, 컴퓨터/기술 :

SELECT page_id, type, categories 
FROM page 
WHERE page_id IN 
    (SELECT 
    page_id, 
    latitude, 
    longitude 
    FROM place 
    WHERE distance(latitude, longitude, '-30.03852', '-51.17877') < 50000 
    LIMIT 100) 
AND type="RESTAURANT/CAFE" 

은 ... 당신 만의 레스토랑을 제공합니다

"data": [ 
{ 
    "page_id": 202457279801080, 
    "type": "RESTAURANT/CAFE", 
    "categories": [ 
    { 
     "id": 185459711490789, 
     "name": "Brazilian Restaurant" 
    }, 
    { 
     "id": 168976549819329, 
     "name": "French Restaurant" 
    }, 
    { 
     "id": 163300367054197, 
     "name": "Seafood Restaurant" 
    } 
    ] 
}, 

문제가 있음을 많은 경우에, type 필드가 페이지 소유자에 의해 설정되지 않았습니다 ... 그래서 레스토랑에 의해 전달할 것입니다 :

"data": [ 
{ 
    "page_id": 216824565018619, 
    "type": "LOCAL BUSINESS", 
    "categories": [ 
    { 
     "id": 134501539950711, 
     "name": "Sushi Restaurant" 
    } 
    ] 
} 

나는이 카테고리의 출처와 설정 방법조차 모릅니다. 제 생각에는이 필드는 이전에 사용되었으므로 이제는 사용되지 않습니다. 페이스 북은 모든 페이지가이 정보를 계속 표시 할 수 있도록 필드를 유지했습니다.

this post에 따르면 FQL 쿼리를 통해 범주를 필터링 할 수 없습니다.

난 당신이 실제 요청을 사용하여 주위에 모든 장소를 요청하고 검사하여 자신 만의 필터링을하는 것이 좋습니다 :

범주 중 하나가 레스토랑 관련된 키워드가 포함되어 있는지 여부를
  • : restaurant, bar, steakhouse 등 .,
  • 또는 typeRESTAURANT/CAFE입니다.
+0

좋아요! 너는 그것을 얻었다! 내가 얻은 결과에는 '유형'열이 채워지지 않았습니다. 대신 그들은 여러 카테고리를 가지고있었습니다. 감사 : D +1 – MatheusJardimB