Skip to main content

Django implementation for Facebook Graph API Pages

Project description

# Django Facebook Graph API Ads

[![Build Status](https://travis-ci.org/ramusus/django-facebook-pages.png?branch=master)](https://travis-ci.org/ramusus/django-facebook-pages) [![Coverage Status](https://coveralls.io/repos/ramusus/django-facebook-pages/badge.png?branch=master)](https://coveralls.io/r/ramusus/django-facebook-pages)

Application for interacting with Facebook Graph API Pages objects using Django model interface

## Installation

pip install django-facebook-pages

Add into `settings.py` lines:

INSTALLED_APPS = (
...
'oauth_tokens',
'facebook_api',
'facebook_pages',
)

# oauth-tokens settings
OAUTH_TOKENS_HISTORY = True # to keep in DB expired access tokens
OAUTH_TOKENS_FACEBOOK_CLIENT_ID = '' # application ID
OAUTH_TOKENS_FACEBOOK_CLIENT_SECRET = '' # application secret key
OAUTH_TOKENS_FACEBOOK_SCOPE = ['offline_access'] # application scopes
OAUTH_TOKENS_FACEBOOK_USERNAME = '' # user login
OAUTH_TOKENS_FACEBOOK_PASSWORD = '' # user password

## Usage examples

### Fetch page by Graph ID

>>> from facebook_pages.models import Page
>>> page = Page.remote.fetch('19292868552')
>>> page
<Page: Facebook Developers>
>>> page.__dict__
{'_external_links_post_save': [],
'_external_links_to_add': [],
'_foreignkeys_post_save': [],
'_state': <django.db.models.base.ModelState at 0xb1d718c>,
'about': 'Grow your app with Facebook\nhttps://developers.facebook.com/ ',
'can_post': False,
'category': 'Product/service',
'checkins': None,
'company_overview': 'Facebook Platform enables anyone to build social apps on Facebook, mobile, and the web.\n\n',
'cover': {'cover_id': '10151298218353553',
'offset_x': 0,
'offset_y': 0,
'source': 'http://m.ak.fbcdn.net/sphotos-b.ak/hphotos-ak-ash4/s720x720/377655_10151298218353553_500025775_n.png'},
'description': '',
'graph_id': '19292868552',
'id': 9,
'is_published': True,
'likes': 1225086,
'link': 'http://www.facebook.com/FacebookDevelopers',
'location': None,
'name': 'Facebook Developers',
'phone': '',
'picture': '',
'posts_count': 0,
'products': '',
'talking_about_count': 31550,
'username': 'FacebookDevelopers',
'website': 'http://developers.facebook.com'}

### Fetch and access page posts and comments

For this purpose you need to install dependency
[`django-facebook-posts`](http://github.com/ramusus/django-facebook-posts/) and add it into `INSTALLED_APPS`

>>> from facebook_pages.models import Page
>>> page = Page.remote.fetch('19292868552')
>>> page.fetch_posts()
[<Post: Facebook Developers: Excited for March Madness? We spoke with the folks at Pickmoto about their app to manage March Madness pools. Check out the interview.>,
<Post: Facebook Developers: To help developers understand the updates we just announced to Timeline and Open Graph, we've published this three video series. Check it out!>,
'...(remaining elements truncated)...']
>>> page.wall_posts.count()
354
>>> page.wall_posts[0].fetch_comments()
[<Comment: Comment object>, <Comment: Comment object>, <Comment: Comment object>, '...(remaining elements truncated)...']
>>> page.wall_comments.count()
16

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-facebook-pages-0.4.0.tar.gz (22.7 kB view details)

Uploaded Source

File details

Details for the file django-facebook-pages-0.4.0.tar.gz.

File metadata

File hashes

Hashes for django-facebook-pages-0.4.0.tar.gz
Algorithm Hash digest
SHA256 eec91934208ad00f1899bfeade654ea411fcbfd177055a1fdb447768429cd842
MD5 cd3391cb025ac3154b6dab4a01011dd7
BLAKE2b-256 1e63d92a7d73fc9faa15cf79eb14b0837fd5910fc2f746b09e790f80034276cd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page