페이스북 Page API 파이썬으로 이용하기

목차

    2018. 7. 9. 06:00

    이전 포스팅에서 페이스북 API에 대해서 알아보았다. (참조: 페이스북 API 알아보기
    AI, 증강현실, 가상현실 등 신기하고 탐나는 API들이 많았지만, 그 중에 가장 쉬워(?) 보이는 페이스북 Page API에 대해서 알아보려고 한다.

    오늘은 페이스북 페이지API를 파이썬으로 이용해보도록 하겠다.


    제목


    추천포스트


    페이스북 Page API는 페이스북 개발자 페이지에 소개돼 있다. 아래 링크를 클릭하면 페이스북  페이지API에 접속할 수 있다.


    페이스북_Page_API_바로가기

    (페이스북 Page API 바로가기)


    페이스북 Page API에 할 수 있는 일들을 조금 정리해보면 아래와 같다.

    페이스북_페이지API_내용

    (페이스북 페이지API 내용)


    여러가지 내용들이 눈에 띄지만, 페이지 발행이 가장 눈에 띈다. '페이지 발행하기'가 가장 눈에 띈다. 페이지에 포스팅을 꾸준히 하는 것이 가장 힘들고 중요하기 때문이다.


    하지만, 오늘은 간략히 페이지 정보를 가져오는 부분을 파이썬으로 만들어보려 한다. 

    페이스북 Page API를 이용하기 위해서는 먼저 페이스북 개발자 계정을 만들어야 한다. 그리고 Facebook 앱 만들기를 통해 앱ID를 만들어야 한다. 그리고 그래프 API 탐색기 도구를 통하면 인증 토큰을 받고 페이지API를 테스트할 수 있다. 자세한 내용은 아래 링크를 참조하기 바란다.
    (참조: https://developers.facebook.com/docs/pages/getting-started)


    설정이 다 끝나고 나면 그래프API 탐색기를 통해서 인증 토큰을 받자. 페이지 액세스 토큰 받기를 클릭하면, 페이지API에 접근할 수 있는 인증 토큰을 받을 수 있다.

    그래프탐색기

    (그래프 API 탐색기 바로가기)


    받은 액세스 토큰을 이용하면, 쉽게 페이스북 페이지API를 사용할 수 있다.


    파이썬에는 용자(?)님들이 facebook api를 더 편리하게 사용하게 하기 위해, 패키지를 만들어 놓았다. 

    FacebookSDK

    (Facebook SDK for Python 바로가기)


    facebook패키지를 설치하는 방법은 여러가지가 있다. pip install facebook-sdk를 커맨드창에서 입력하는 것이 가장 쉬운 방법이 아닌가한다. 주의할 점은 패키지 이름은 facebook인데, 설치할 때는 facebook-sdk라고 입력해야 한다는 것이다. 패키지를 설치하는 다양한 방법들이 궁금하다면 아래 포스팅을 참조해보자.
    (참조: 파이썬 numpy 설치하기)


    설치한 패키지를 이용해 그래프에 접속하고, get_object함수를 호출하면 아래와 같이 페이스북 Page정보를 가져올 수 있다. 불러올 수 있는 항목이나 내용들은 페이스북 Page API문서를 참조하면 더 자세히 알 수 있을 것이다.



    오늘은 이렇게 페이스북 Page API를 파이썬으로 이용하는 방법에 대해서 알아보았다. 초기에 설정하는 부분들이 조금 복잡하지만, 실제 코딩은 1~2줄 만으로 원하는 정보들을 바로바로 얻을 수 있다. 다음에는 API를 통해 페이스북 Page에 포스팅하는 방법에 대해서 알아보도록 하겠다.


    오픈API를 사용하면 다양한 재미있는 일들을 해 볼 수 있다. 파이썬을 활용한 오픈API 사용이 궁금하다면 아래 글을 참조해보자.

    (참조: 오픈API를 활용한 사례는 어떤 것들이 있을까?)


    Page 정보를 가져오는 코드를 아래에 첨부하니 필요하다면 수정하여 사용하면 되겠다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # coding=utf-8
     
    import facebook
     
    graph = facebook.GraphAPI(access_token=[자신의 인증코드를 입력한다], version="2.7")
     
    site_info = graph.get_object(id="toypython", fields=["id","name"])
     
    print(site_info)
     
    cs


    이 글 공유하기