2010-05-05 1 views
4

Facebook 그래프 API (http://graph.facebook.com/btaylor)로 사용자 데이터에 액세스하는 것과 그래프 API를 사용하여 동일한 사용자 (https://api.facebook.com/method/fql.query?query=QUERY)의 FQL 쿼리를 만드는 것의 차이점은 무엇입니까?FQL 쿼리와 그래프 API 개체 액세스 간의 차이점

또한 누가 Facebook Developer Toolkit (ASP.NET 용) 중 어떤 것을 사용하는지 알고 있습니까?

내가 물어 보는 이유는 내 사이트에서 Facebook Connect 세션을 시작한 후 로그인 한 사용자의 생일에 액세스하려고하기 때문입니다. 그러나 툴킷을 사용하면 반환하지 않습니다. 그러나 해당 사용자 개체에 대한 그래프 API 수동으로 호출 할 경우이를 반환합니다. 툴킷에서 내 전화가 잘못되었을 수도 있습니다. 세션 키를 포함시켜야한다고 생각하지만 어떻게 가져올 지 모르겠습니다.

_connectSession = new ConnectSession(APPLICATION_KEY, SECRET_KEY); 
     try 
     { 
      if (!_connectSession.IsConnected()) 
      { 
       // Not authenticated, proceed as usual. 
       statusResponse = "Please sign-in with Facebook."; 
      } 
      else 
      { 
       // Authenticated, create API instance 
       _facebookAPI = new Api(_connectSession); 

       // Load user 
       user user = _facebookAPI.Users.GetInfo(); 

       statusResponse = user.ToString(); 

       ViewData["fb_user"] = user; 

      } 
     } 
     catch (Exception ex) 
     { 
      //An error happened, so disconnect session 
      _connectSession.Logout(); 
      statusResponse = "Please sign-in with Facebook."; 
     } 
+0

둘의 차이점에도 관심이 있습니다. – Stevko

+0

오래된 주제 -하지만 여기에 있습니다 .02 : Open Graph는 Facebook SQL에서 "sql"을 추상화하고 디자인 상으로 훨씬 느립니다. SQL에 익숙하다면, FBSQL은 단순히 FB에 의해 정의 된 컬럼에 대한 SQL 질의이며 & 리턴 된 것을보다 잘 제어 할 수 있습니다. 반환되는 항목,보다 세련된 쿼리 및 소규모 데이터 세트를보다 효과적으로 제어하면 성능 향상의 이점을 얻을 수 있으며 간단한 쿼리를 만들기 위해 항상 Open Graph보다 빠릅니다.Open Graph는 많은 조인과 하위 쿼리를 필요로하는 복잡한 쿼리에 더 적합합니다. 이러한 쿼리는 처음부터 피해야합니다. – FredTheWebGuy

답변

0

그것은 내가 내가 모든 확장 된 권한의 전체 목록을 가지고 있지 않았기 때문이었다 그 수를 찾고 있었다 생일 및 기타 정보를 얻을 수있는 이유는 것 : 여기 내가 사용하고 코드입니다 요청 받아야한다. 나는 http://developers.facebook.com/docs/authentication/permissions (user_birthday를 포함)에 그 목록을 마침내 발견했다.

누구든지 FQL 대 그래프 객체 질문에 대한 정보를 가지고 있다면, 나는 그것에 관심이있을 것입니다. 나는 그들이 기본적으로 같은 것이라고 생각한다.

+0

그들은 동일한 것을 접근하지만 사실은 아주 다릅니다. 위의 내 대답을 참조하십시오. – jemmons

8

그래프 API는 페이스 북 연결 사용되기 때문에 권한이 당신에게 같은 예를 들어, 사용자의 생일 무언가에 대한 필요한 정보를 제공하기 위해, 당신은 요청할 수 있습니다 및 FQL은 모두 동일한 기본 Facebook 개체 ("소셜 그래프"로 통칭되는 노드)에 액세스한다는 점에서 비슷합니다. 그래프 API는 이러한 객체에 액세스하기위한 간단하고 균일하며 비교적 직접적인 방법입니다. 찾고자하는 것을 정확히 알고 있다면 Graph API를 사용하면 쉽게 얻을 수 있습니다.

반면에 FQL은 SQL과 같은 쿼리 언어입니다. 간단한 직접 그래프 API를 사용하여 찾을 수없는 (또는 복잡한) 그래프 객체를 검색 할 수 있습니다.

FQL의 그래프 API에 대한 또 다른 큰 특징은 여러 쿼리를 단일 호출로 배치 할 수 있다는 것입니다.이 기능을 사용하면 멀티 파트 쿼리의 라운드 트립에서 번을 번 저장할 수 있습니다.

궁극적으로, 그래프 API는 소셜 그래프의 "덮개 아래"에서 일어나는 일을보다 직접적으로 표현하므로 가능한 경우 사용하는 것이 더 간단합니다. 그러나 내 Graph API 요청이 너무 길거나 이해할 수 없거나 (또는 ​​필자가 소셜 그래프에 대한 둘 이상의 관련 쿼리를 작성해야 할 때) FQL로 전환해야한다는 신호입니다.