This packages provides login and share funcionalities for the social networks.
Basic usage
Add socialnetwork to INSTALLED_APPS.
INSTALLED_APPS = (
...
...
'socialnetwork',
'socialnetwork.facebook',
...
...
)
Set your social app configuration in settings.
SOCIALNETWORK_FACEBOOK_CLIENT_ID = '0123456789'
SOCIALNETWORK_FACEBOOK_CLIENT_SECRET = '0123456789abcdefgh'
SOCIALNETWORK_FACEBOOK_SCOPE_PERMISSIONS = ['email', ...]
Add the social backends to your AUTHENTICATION_BACKENDS.
AUTHENTICATION_BACKENDS = (
...
...
'socialnetwork.facebook.backends.FacebookBackend',
...
...
)
Add socialnetwork to your urls.
urlpatterns = patterns('',
...
...
url(r'^social/', include('socialnetwork.urls', namespace='socialnetwork')),
...
...
)
Show login button in your templates.
...
...
{% load facebook %}
...
...
{% facebook_login 'text to show in button' 'css_class1 css_class2 ... css_classN' %}
...
...
Share content using tags in your templates (you can provide any named args accepted by the Facebook JavaScript SDK).
...
...
{% load facebook %}
...
...
{% facebook_share 'text to show in button' 'css_class1 css_class2 ... css_classN' link="mysite.com" name="This is my site" ... %}
...
...
Request data. The client must be initialized with a profile object.
...
...
from socialnetwork.facebook.clients import FacebookGraph
...
...
graph = FacebookGraph(user.facebookoauthprofile)
data = graph.get('me', params={'fields': 'first_name,last_name,picture.type(normal)'})
data['first_name']
>>> 'John'
Check access token.
graph.debug_access_token()
>>> (True, {'data': {'is_valid':True, 'access_token':...}})