python-facebook
python-facebook copied to clipboard
A simple Python wrapper for facebook graph api :sparkles: :cake: :sparkles: .
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.
-
if you already have an access token, you can initial with it::
from pyfacebook import GraphAPI api = GraphAPI(access_token="token")
-
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)
-
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