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.3.1.tar.gz (22.8 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-facebook-pages-0.3.1.tar.gz
Algorithm Hash digest
SHA256 dde56ec5b6850773b366acd04134529fddb7d36ce901ae183a022a762cf8d8c0
MD5 7600dc586c6484ed3d8de9a857eac1fc
BLAKE2b-256 04c1794dff0b6267a867c346bf50bad2692bb7f3e4ab83d84b6428fe15bc921b

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