2011-03-18 5 views

답변

15

이 몇 가지 다른 접근 방식에서 가능하다 : 여기

당신에 refrence에 대한 페이지입니다. long/lat 위치를 사용하여 검색하고 쿼리에 장소 이름을 넣을 수 있습니다. 이 검색은 장소 만 검색합니다.

는 다음

https://graph.facebook.com/search?q=ritual&type=place&center=37.76,-122.427&distance=1000&access_token=mytoken를 수행합니다.

의식 커피가 반환됩니다.

또 다른 방법은 당신은 분명 더 자세히 목록을 구문 분석해야하므로이 방법이 더 어렵다 https://graph.facebook.com/search?q=ritual%20coffee&type=page&access_token=mytoken

다음 사용하는 페이스 북 페이지를 통해 검색하는 것입니다. 다음

compile group: 'com.facebook.android', name: 'facebook-places', version: '4.30.0' // For latest version, see https://developers.facebook.com/docs/android/

과 :

+0

매우 유망한 것으로 보입니다. 감사합니다. – BrynJ

+0

해당 엔드 포인트에 대한 문서 참조를 찾을 수 없습니다.이 솔루션은 일종의 블랙 박스입니까? –

-1

내가 제대로 질문을 이해한다면 당신은 FQL 사용할 수 있습니다 https://api.facebook.com/method/fql.query?query=QUERY 쿼리 이런 식으로 뭔가 있어야 할 곳에 : 장소에서 선택 페이지 ID 곳 이름 =; http://developers.facebook.com/docs/reference/fql/place/

+0

당신은 또한 같은 효과의 PHP SDK 또는 JS SDK를 사용할 수 있습니다. –

+0

답변 Elad을 보내 주셔서 감사합니다. 불행하게도, 그것은 해결책이 아닙니다. "귀하의 진술은 인덱싱 할 수 없습니다. WHERE 절에는 인덱싱 가능한 컬럼이 있어야합니다. 이러한 컬럼은 http://developers.facebook.com에서 링크 된 테이블에 * 표시가되어 있습니다./docs/reference/fql "을 참조하십시오. 연결된 FQL Place 페이지를 보면 page_id가 유일하게 인덱스 된 열입니다. ( – BrynJ

+0

그럼 페이스 북 아키텍처 내에서 해결책이 없다고 생각합니다. 이론적으로, * 장소를 선택하여 자신 만의 데이터베이스를 만들 수 있습니다 1에서 1까지의 테이블은 나쁜 해결책으로 보입니다. –

0

당신은 또한 페이스 북에서 장소 SDK를 사용할 수 있습니다

PlaceSearchRequestParams.Builder builder = new PlaceSearchRequestParams.Builder(); 

builder.setSearchText("Cafe"); 
builder.setDistance(1000); // 1,000 meter maximum distance. 
builder.setLimit(10); 
builder.addField(PlaceFields.ID); 

GraphRequest request = PlaceManager.newPlaceSearchRequestForLocation(builder.build()); 

request.setCallback(new GraphRequest.Callback() { 
    @Override 
    public void onCompleted(GraphResponse response) { 
     // Handle the response. The returned ID in JSON is the placeId. 
    } 

request.executeAsync(); 
+0

자세한 정보는 여기 : https://developers.facebook.com/docs/places/android/search –

관련 문제