python-facebook-api

A simple Python wrapper around the Facebook Graph API


Keywords
facebook-graph-api, facebook-sdk, instagram-api, instagram-sdk, facebook-api, python
License
Apache-2.0
Install
pip install python-facebook-api==0.14.1

Documentation

Python Facebook

A Python wrapper for the Facebook Common API.

Build Status Documentation Status Codecov PyPI

Introduction

We have refactored this library after v0.10.0. If you want to use old version, please see branch v0.

The new structure we will provide like follow show.

docs/docs/images/structure.png

Note

This new structure still in developing.

Now You can use base class GraphApi to get data.

Installing

If you want to use old version you can set version to 0.9.*, And this series will also support with python2.7

You can install this library from pypi:

$pip install --upgrade python-facebook-api
✨🍰✨

Usage

GraphAPI

Now you can use GraphApi class to communicate with Facebook Graph Api.

You can initial GraphApi with three different methods.

  1. if you already have an access token, you can initial with it:

    >>> from pyfacebook import GraphAPI
    >>> api = GraphAPI(access_token="token")
    
  2. if you want to use app credentials to generate app token:

    >>> from pyfacebook import GraphAPI
    >>> api = GraphAPI(app_id="id", app_secret="secret", application_only_auth=True)
    
  3. if you want to perform an authorization process to a user:

    >>> from pyfacebook import GraphAPI
    >>> api = GraphAPI(app_id="id", app_secret="secret", oauth_flow=True)
    >>> api.get_authorization_url()
    # ('https://www.facebook.com/dialog/oauth?response_type=code&client_id=id&redirect_uri=https%3A%2F%2Flocalhost%2F&scope=public_profile&state=PyFacebook', 'PyFacebook')
    # let user to do oauth at the browser opened by link.
    # then get the response url
    >>> api.exchange_user_access_token(response="url redirected")
    # Now the api will get the user access token.
    

Then you can get data from facebook.

Get object data:

>>> api.get_object(object_id="20531316728")
>>> {'name': 'Facebook App', 'id': '20531316728'}

More you can see the code because we still working on new structure.

FacebookAPI

Initial methods same with GraphAPI.

Get user data:

>>> fb.user.get_info(user_id="413140042878187")
>>> User(id='413140042878187', name='Kun Liu')

Get page data:

>>> fb.page.get_info(page_id="20531316728")
>>> Page(id='20531316728', name='Facebook App')

See more in documents.

Features

Now library has cover follows features

Facebook Graph API:

  • Application and Application's edges
  • Page and Page's edges
  • User and User's edges
  • Group and Group's edges
  • Event and Event's edges
  • Server-Sent Events

IG Business Graph API:

  • User and User's edges
  • Media and Media's edges

IG Basic Display API:

  • User and User's edges
  • Media and Media's edges

SUPPORT

python-facebook-api had been being developed with Pycharm under the free JetBrains Open Source license(s) granted by JetBrains s.r.o., hence I would like to express my thanks here.

Jetbrains