시작하기

이 가이드에서는 Facebook 소셜 그래프에서 데이터를 수신하기 시작하는 방법을 설명합니다.

시작하기 전에

다음과 같은 항목이 필요합니다.

첫 요청

1단계: 그래프 API 탐색기 도구 열기

그래프 API 탐색기를 새 브라우저 창에서 엽니다. 그러면 이 튜토리얼을 읽으면서 예시를 실행할 수 있습니다.

탐색기는 GET 메서드, 최신 버전의 그래프 API, /me 노드, 쿼리 문자열 필드idname 필드, Facebook 앱을 포함한 기본 쿼리를 읽어들입니다.

2단계. 액세스 토큰 생성

액세스 토큰 생성 버튼을 클릭합니다. Facebook으로 로그인 창이 열립니다. 이 팝업을 통해 앱이 Facebook에서 이름과 프로필 사진을 가져올 권한을 요청합니다.

이 플로는 Facebook 로그인 제품이며, 사용자가 Facebook 자격 증명을 사용하여 앱에 로그인하도록 허용합니다. Facebook 로그인을 통해 앱이 사용자의 Facebook 데이터에 대한 액세스 권한을 요청하고 해당 사용자는 액세스 요청을 수락하거나 거부할 수 있습니다. 이름과 프로필 사진은 Facebook에서 검색이 가능하도록 전체 공개되어 있으므로 이 요청을 실행하기 위한 추가 요구 사항은 없습니다.

다음으로 계속...을 클릭합니다.

사용자 액세스 토큰이 생성됩니다. 이 토큰에는 요청을 보내는 앱, 앱을 사용하여 요청을 보내는 사람, 액세스 토큰의 유효 기간(약 1시간 이내에 만료), 만료 시간, 앱이 요청할 수 있는 데이터의 범위 등과 같은 정보가 포함됩니다. 이 요청의 범위는 이름과 프로필 사진을 포함한 public_profile입니다.

액세스 토큰 옆의 정보 원형 아이콘을 클릭하고 토큰 정보를 확인합니다.

3단계. 요청 제출

오른쪽 상단 모서리에서 제출 버튼을 클릭합니다.

표시되는 화면

응답 창에 Facebook 사용자 ID와 이름이 포함된 JSON 응답이 표시됩니다.

쿼리 문자열 필드에서 ?fields=id,name을 삭제하고 제출을 클릭해도 같은 결과가 표시됩니다. nameid는 기본적으로 반환되는 사용자 노드 필드이기 때문입니다.

두 번째 요청

1단계. 필드 추가

email 필드를 추가하여 첫 요청을 좀 더 복잡하게 해보겠습니다. 다음의 두 가지 방법으로 필드를 추가할 수 있습니다.

  • 응답 창 왼쪽에 있는 노드 필드 뷰어에서 검색 드롭다운 메뉴를 클릭합니다.
  • 쿼리 문자열 필드를 입력하기 시작합니다.

email 필드를 추가하고 제출을 클릭합니다.

표시되는 화면

호출은 실패하지 않았지만 디버그 메시지와 함께 nameid 필드만 반환됩니다. (표시) 링크를 클릭하여 요청을 디버깅합니다.

거의 모든 노드와 필드에 액세스를 위한 특정 권한이 필요합니다. Facebook 계정과 연결된 이메일 주소에 대한 액세스 권한을 앱에 부여해야 한다고 안내하는 디버깅 메시지가 표시됩니다.

2단계. 권한 추가

오른쪽 패널의 권한에서 권한 추가 드롭다운 메뉴를 클릭합니다. 사용자 데이터 권한을 클릭하고 이메일을 선택합니다.

새 사용자 액세스 토큰 생성

액세스 토큰의 범위를 변경해야 하므로 새 사용자 액세스 토큰이 필요합니다. 액세스 토큰 생성을 클릭합니다. 첫 요청과 마찬가지로 Facebook 로그인 대화 상자에서 이메일에 대한 액세스 권한을 앱에 부여해야 합니다.

새 토큰이 생성되면 제출을 클릭합니다. 이제 요청의 모든 필드가 반환됩니다.

Facebook 게시물을 가져와 보세요.

단계를 확인합니다.

응답의 링크

응답 창에 반환된 id 값은 링크입니다. 이 링크는 노드(예: 사용자, 페이지, 게시물)를 나타낼 수 있습니다. 링크를 클릭하면 ID가 쿼리 문자열 필드의 내용을 대체합니다. 이제 해당 노드에서 요청을 실행할 수 있습니다. 이 노드는 상위 노드(사용자의 게시물)에 연결되어 있기 때문에 권한을 추가할 필요가 없을 수도 있습니다. 다음 예시에서 사용할 예정이므로 지금 게시물 ID를 클릭할 수 있습니다.

참고: 일부 ID는 상위 ID와 새 ID 문자열의 조합입니다. 예를 들어 사용자 게시물의 게시물 ID는 1028223264288_102224043055529 형식이며, 여기에서 1028223264288은 사용자 ID입니다.

이제 에지를 살펴보겠습니다.

이 사용자 노드에는 데이터를 반환할 수 있는 에지가 많지 않습니다. 사용자가 개체를 소유한 경우에만 사용자 개체에 대한 액세스 권한이 부여될 수 있습니다. 대부분의 경우 사용자가 개체를 생성한 경우 이를 소유하게 됩니다.

예를 들어 게시물을 게시하면 생성 날짜와 게시물에 공유된 텍스트, 사진 및 링크, 게시물에 대한 공감 수 등의 게시물 정보를 확인할 수 있습니다. 자신의 게시물에 댓글을 남기면 해당 댓글을 가져올 수 있습니다. 하지만 다른 사용자가 게시물에 댓글을 남기면 그 댓글이나 댓글을 남긴 사용자를 볼 수 없습니다.

게시물 중 하나의 공감 수를 가져와 보겠습니다. 이때

개체 공감 참고 자료

를 참조하는 것이 좋습니다.

단계를 확인합니다.

요청에 대한 코드 가져오기

탐색기 도구에서 요청을 테스트하고 응답을 성공적으로 받았다면 코드를 가져와 앱 코드에 넣을 수 있습니다. 응답 창 아래에서 코드 가져오기를 클릭합니다. 탐색기는 Android, iOS, JavaScript, PHP 및 cURL 코드를 제공합니다. 이 코드는 바로 복사해서 붙여넣을 수 있도록 미리 선택되어 있습니다.

앱에 Facebook SDK를 구현하는 것이 좋습니다. 이 SDK에는 Facebook 로그인이 포함되어 있어 앱에서 권한을 요청하고 액세스 토큰을 받을 수 있습니다.

더 알아보기

그래프 API 탐색기를 사용하여 사용자, 페이지, 그룹 등에 대한 요청을 테스트할 수 있습니다. 각 노드 또는 에지에 대한 참고 자료에서 필요한 권한과 액세스 토큰 유형을 알아보세요.