python-facebook-api

A simple Python wrapper for facebook graph api ✨ 🍰 ✨ .

Showing:

Popularity

Downloads/wk

0

GitHub Stars

149

Maintenance

Last Commit

13d ago

Contributors

4

Package

Dependencies

3

License

Apache-2.0

Categories

Readme

Python Facebook

A Python wrapper for the Facebook Common API.

.. image:: https://github.com/sns-sdks/python-facebook/workflows/Test/badge.svg :target: https://github.com/sns-sdks/python-facebook/actions :alt: Build Status

.. image:: https://img.shields.io/badge/Docs-passing-brightgreen :target: https://sns-sdks.github.io/python-facebook/ :alt: Documentation Status

.. image:: https://codecov.io/gh/sns-sdks/python-facebook/branch/master/graph/badge.svg :target: https://codecov.io/gh/sns-sdks/python-facebook :alt: Codecov

.. image:: https://img.shields.io/pypi/v/python-facebook-api.svg :target: https://pypi.org/project/python-facebook-api :alt: 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.

.. image:: 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

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.

.. image:: docs/docs/images/jetbrains.svg :target: https://www.jetbrains.com/?from=sns-sdks/python-facebook :alt: Jetbrains

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100