finds.dev← search

// the find

tschellenbach/Django-facebook

★ 1,417 · Python · NOASSERTION · updated Nov 2021

Facebook open graph api implementation using the Django web framework in python

A Django app from the early 2010s that handles Facebook Login, converts Facebook profile data into Django User/Profile objects, and wraps the Graph API (plus FQL, which Facebook killed off years ago) through a bundled client called Open Facebook. It's for someone maintaining a legacy Django site that already depends on it, not for anyone starting a new integration.

Ships its own tested Graph API client (Open Facebook) rather than just gluing together requests calls, so you get typed exceptions and token refresh handling instead of raw dict parsing. The registration flow is genuinely pluggable - separate registration_backends.py and signals.py let you hook in without forking the package. Supports three distinct auth flows (JS OAuth on web, canvas apps, mobile token passthrough) which was real engineering effort for Facebook's messy 2012-era API surface.

Last commit is from November 2021 and the API it wraps changed completely since then - Graph API versions get deprecated on a rolling basis, FQL has been gone since 2016, and the permissions model this was built against no longer exists, so this will not work against the current Facebook API without substantial rewriting. Caps out at Django 1.8 support per the README, meaning it predates class-based middleware, async views, and pretty much every Django release anyone is running now. The repo still contains a vendored Python 2.5 virtualenv under docs/docs_env for building Sphinx docs, which is dead weight and a minor supply-chain smell. The maintainer says outright in the README they're busy with a startup and the project needs 'a good round of testing' - this is a polite way of saying it's unmaintained.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →