我目前正在Django开发一个应用程序,并试图实现Facebook身份验证和Graph API请求 . 我已经看到了一些不同的库,但是执行以下操作的最佳方法是什么:
-
让用户通过Facebook登录 .
-
Django为他们创建了一个新用户并添加了他们的uid和oauth令牌 .
-
然后我可以使用Facebook的Python SDK调用Graph API .
我确实看到了this example . 在正常的Django上这么简单吗?
我目前正在Django开发一个应用程序,并试图实现Facebook身份验证和Graph API请求 . 我已经看到了一些不同的库,但是执行以下操作的最佳方法是什么:
让用户通过Facebook登录 .
Django为他们创建了一个新用户并添加了他们的uid和oauth令牌 .
然后我可以使用Facebook的Python SDK调用Graph API .
我确实看到了this example . 在正常的Django上这么简单吗?
3 回答
我的公司已经 Build 了一个库,使得将Facebook集成到您的Django应用程序中很简单(我们可能已经使用库构建了10-20个应用程序,包括一些具有大量流量的应用程序,因此它经过了战斗测试) .
在您的设置中,为
FACEBOOK_KEY
,FACEBOOK_SECRET
,FACEBOOK_SCOPE
,FACEBOOK_REDIRECT_URL
和PRIMARY_USER_MODEL
添加值 . 您还需要将ecl_facebook.backends.FacebookAuthBackend
添加到AUTHENTICATION_BACKENDS
. 例如,在settings.py中:在views.py中添加一些视图来处理认证前和认证后的逻辑 .
现在只需将这些URL连接到urls.py文件中即可 .
希望这可以帮助!
附:您可以阅读其余文档here .
我在我工作的地方做了很多Facebook应用程序开发,因此我们开发了an open-source library,这使得它的一切都非常简单 .
我推荐https://github.com/egnity/fb.py . 立即启动并运行基于Django的Facebook应用程序 . 它包含一个中间件,允许您在视图中运行如下代码:
对于用户ID:
对于oauth令牌:
然后,您可以根据需要将上述内容添加到用户模型中 . 要进行Graph API调用,您仍然可以使用fb.py的中间件 - 无需使用原始python-sdk . 上面的user_id代码是Graph API调用的完美示例 . 你可以用fb.py做更多的事情 . 下载包含一个示例django项目,以帮助您前进 .