Study/Programming

Facebook API - 3. 웹브라우저에서 조회하기

빨간당무 2011. 2. 1. 15:23
이 문서는 페이스북(Facebook)에서 제공되어지는 API를 이용하여 내 어플리케이션을 만드는 과정을 설명하고자 합니다.
그 과정에서 이 문서는 아래 전체 과정 중에 3번째 과정인 웹브라우저에서 조회하기에 해당합니다.




Facebook이 제공하는 것 중 Graph API가 있습니다. 그전에 어떠한 API가 제공되었던 것에 대한 정보는 잘 모르겠습니다만,
제가 제공하는 예제에서는 Graph API를 기준으로 설명하고자 합니다.

우선 Graph API와 관련된 문서의 경로는 다음과 같습니다. (http://developers.facebook.com/docs/reference/api)



위 페이지를 보시면 매우 손쉽게 원하는 정보를 가져오실 수 있습니다.

우선 왼쪽에 있는 Objects를 보면 가져올 수 있는 정보들을 확인 하 실수 있고 그에 해당하는 각 항목들과 각 항목들의 반환 유형을 볼 수가 있습니다.

우선 개인의 프로필 정보를 가져와 보도록 하겠습니다. 





라고 입력하면 된다고 되어 있습니다. 그러므로 해당 URI로 이동하겠습니다.



당당히 에러가 나는 것을 볼 수 있습니다. 이것은 현재 사용자에게 인증 정보를 확인 하지 못했다는 것입니다.

우리는 앞서 access_token를 받았습니다. 그 정보를 이 URI와 결합하여 이동하도록 하겠습니다.


https://graph.facebook.com/me?access_token= 여기까지는 동일하며 이후 문자열은 각 개발자가 받은 access_token을 입력하시면 됩니다. 그럼 정상적인 경우 아래와 같은 화면을 볼 수 있습니다.



내용이 많아서 이후 내용은 생략하였으며, 사용자가 프로플에 작성한 내용에 대해서만 JSON(JavaScript Object Notation, 제이슨 이라고 읽음)형식으로 반환하여 줍니다.


여기서 [me]라고 입력한 부분은 사용자의 id로 대체할 수 있습니다. 위 화면에서 보이는 사용자의 id는 다음과 같습니다.

user id : 100000482185025


이렇게 위와 같이 입력하고 이동해도 동일한 결과를 얻을 수 있습니다.

다음으로는 친구 목록을 가져와 보겠습니다.





이렇게 입력하라고 되어 있습니다. 물론 위 개인의 프로필을 가져올 때와 마찬가지로 뒤에 access_token을 입력하여 연결하여야 합니다. 아래와 같습니다.



전자는 user id를 me로 입력한 것이고 후자는 user id를 숫자로 이루어진 값으로 입력한 것입니다. 결과는 아래와 같습니다.



그런데 기대했던 것과는 다소 다른 정보가 조회 되었습니다. 친구들 목록이 나오는 것이 아니라, 친구를 구분하기 위한 그룹 목록이 나옵니다. 아래와 같은 화면에서 생성한 그룹을 말하는 것이죠.



;;; 그렇다고 친구 목록을 못가져오는 것은 아닙니다. Objects 에 목록이 보이지 않았지만 아래와 같이 입력하면 친구 목록을 가져올 수가 있습니다.


앞서와 차이는 friendlists 이냐 friends이냐의 차이입니다. 이것에 access_token을 입력하여 연결하여야 합니다. 아래와 같습니다.


전자는 user id를 me로 입력한 것이고 후자는 user id를 숫자로 이루어진 값으로 입력한 것입니다. 결과는 아래와 같습니다.



위와 같이 앞서와 마찬가지로 JSON으로 반환되는 것을 볼 수가 있습니다.

만약 여기서 친구들의 프로필을 보고 싶다면 다음과 같이 사용자의 프로필 조회시의 user id 값을 친구들의 user id 값으로 대체 하시면 됩니다.


결과 화면은 사용자의 프로필과 유사하기에 생략합니다.

앞서 내용에서 친구 목록을 가져올 수 있지만 기술되지 않았던 점이 이상해서 다시 User의 문서를 살펴보았습니다.



(...중략...)



[연결사항]이라는 항목에 보면 다양한 정보를 가져올 수 있음을 확인 할 수 있습니다. 이중 방금 우리가 가져온 친구 목록(friends)도 확인 할 수 있었습니다.

그럼 여기에 있는 것을 하나더 예를 들어 보겠습니다. 사용자가 좋아하는 것(Likes)를 가져오도록 하겠습니다.

https://graph.facebook.com/[me or user id or friend id]/likes?access_token=[access_token]

이렇게 입력하시면 됩니다. 아래와 같습니다.



전자는 user id를 me로 입력한 것이고 후자는 user id를 숫자로 이루어진 값으로 입력한 것입니다. 결과는 아래와 같습니다.



내용이 많아서 이후 내용은 생략하였습니다.

이와 같이 사용자들은 

https://graph.facebook.com/[Object ID]/[연결 사항]?access_token=[access_token]

과 같이 입력하여 원하는 정보를 JSON 형식으로 가져오실 수 가 있습니다.

이후 과정은 4. C# API 이용입니다. 이것은 다음 페이지에서 진행하겠습니다.