2012-04-19 2 views
4

OpenGraph를 사용하여 사용자가 콘서트에 리뷰를 쓸 수 있도록 페이스 북 앱을 만들었으므로 사용자가 리뷰를 삽입 할 수있는 concert_id 속성을 정의했습니다.OpenGraph : FB.api에서 어떻게 필터를 지정할 수 있습니까?

지금은 특정 concert_id을 위해 삽입 된 모든 검토를 표시하고 싶지만 방법을 찾을 수 없습니다 내가 할 경우 (JS에서)

FB.api('/me/MY_APP:action', { limit: 0}, function(response) { 
    console.log(response); 
}); 

나는 모든 항목을 얻는다. 이 응용 프로그램은 모바일에 의해 소비되어야한다, 나는 그것이 모든 항목을 얻는 것이 나쁘다 고 생각한다, 그때, 내가 필요한 concert_id만을 필터링한다. OpenGraph에서 "where"조건을 커스텀 액션에 적용하려면 어떻게해야합니까? 나는 API와 페이스 북 개발자 페이지에서 말할 수있는

답변

2

페이스 북의 API는 특정 작업에 대한 개별 게시 된 개체를 반환하지 않습니다,하지만 당신의 유일한 문제는 아니다. 그것의 모양으로, 당신은 콘서트에 주어진 모든 리뷰를 가져 오려고합니다, 그렇죠? (다른 사용자들도 의미합니다).

Facebook API 호출의 "/ me /"부분은 현재 로그인 한 사용자가 게시 한 작업 만 반환합니다. 모든 사용자의 작업을 원하는대로 작동하지 않습니다.

내가 줄 수있는 유일한 제안은 다양한 콘서트에 대한 모든 리뷰를 저장하는 간단한 웹 서비스를 만드는 것입니다. 이 서비스를 사용하여 특정 콘서트에 대한 리뷰를 가져옵니다. (나는 내 ​​자신의 앱에서 리뷰를 위해 비슷한 방법론을 사용한다).

5

는 지금까지, 그것은 대중 오픈 그래프 API를 사용하여 사용자 지정 작업 속성에 의해 전화를 필터링 할 수 없습니다.

옵션 1 :

사용자 정의 범주 객체를 생성하여 카테고리 필터를 구현 : 내가 생각할 수있는

두 가지 옵션

"검토"사용자 지정 작업 및

GET https://graph.facebook.com/me/[name_space]:review 
경우

반환 모든 검토 작업

GET https://graph.facebook.com/me/[name_space]:review/scifi_movie 
GET https://graph.facebook.com/me/[name_space]:review/action_movie 

영화 유형에 특정한 조치를 반환합니다. scifi_movie 및 action_movie는 사용자 정의 오브젝트입니다. 각 카테고리에 대해 하나의 오브젝트 유형을 작성해야합니다.

옵션 2 :

각 카테고리, 예를 들어하기위한 사용자 지정 동작을 구현

review_scifi_movie 
review_action_movie 

특히 우아한 솔루션 있지만 해킹으로 아마 유용하지 않은 경우 아무것도 다른 작품과 당신이 정말로 클라이언트 측에서 필터링을하고 싶지 않습니다. 나는 그것에 대해 FQL 사용한 모든 사용자가 만든 리뷰를 가져 JAVA에 필요한 때 나는 자바 스크립트 또는 오픈 그래프를 이해 해달라고

+0

안녕하세요, 답변 해 주셔서 감사합니다. 전화 번호는 으로 처리 할 수 ​​있습니다. https://graph.facebook.com/me/[name_space]:review/scifi_movie? – Cris

+0

[name_space]는 Facebook에서 앱을 만들 때 지정한 네임 스페이스를 나타냅니다. 그래서 FB.api ('me/mynamespace : review/scifi_movie', 함수 (응답) 등 ... –

+0

)하지만,/scifi_movie를 넣는 것은 필터를 적용하지 않습니다. 내 앱은 콘서트, concert_id를 기반으로, concert_id는 사용자 정의 속성이지만 graph.facebook.com/me/[ns]:review/XY가 호출되지 않으면 옵션 2에서 작성한 것처럼 모든 항목에 대해 사용자 정의 액션을 구현할 수 있지만 그들은 1000 개 이상이고 적용 할 수 없습니다 :-( – Cris

2

..

는하지만 그것은 나를 자궁강 모든 reviews 및 FQL도 사용 Facebook과 관련된 모든 테이블을 가져옵니다.

1

JS SDK로 해본 적이 없다고 생각합니다.

서버에서이 작업을 수행 할 수 있으며 모바일 앱이거나 모바일 버전이므로 클라이언트 책임에서이를 제거해야하는 또 다른 이유가 있습니다.

게시자가 게시 한 작업을 페이스 북에 요청하고 필터링 한 다음 응답을 반환 할 수 있습니다. 당신이 할 수있는 또 다른 일은 db에 각 게시 된 작업을 저장하는 것입니다 (각 작업 포스트에서 페이스 북에서 ID를 가져 와서 그대로 유지해야합니다). 그런 다음 원하는 기준에 따라 게시 된 작업을 쉽게 필터링 할 수 있습니다/need (페이스 북 API에 의해 더 이상 제한되지 않기 때문에).

개방형 그래프는 여전히 새롭고 성숙하지 않습니다. 예를 들어, FQL을 사용할 수는 없지만, 귀하의 경우에 유용 할 수 있습니다. 비록 모바일이라고 생각하면 서버 솔루션이 계산에 가장 적합하다고 생각합니다.

0

내가 정확히 알고 있지만하지 않는이

(session.authResponse) 경우 {

FB.api('/me', { 
    fields: 'name, picture' // here mention your fields 
    }, 
    function(response) { 
     if (!response.error) { 

// 여기에 응답 값 });

관련 문제