Django/Python Facebook的OAuth2
关于Python的OAuth2和Facebook,有什么建议吗?
看起来自从Facebook更新到OAuth2后,相关的信息很少。
有没有办法让现有的Twitter库适用于Facebook的认证呢?
import oauth2 as oauth
# Create your consumer with the proper key/secret.
consumer = oauth.Consumer(key="your-twitter-consumer-key",
secret="your-twitter-consumer-secret")
# Request token URL for Twitter.
request_token_url = "http://twitter.com/oauth/request_token"
# Create our client.
client = oauth.Client(consumer)
# The OAuth Client request works just like httplib2 for the most part.
resp, content = client.request(request_token_url, "GET")
print resp
print content
3 个回答
0
如果你想获取用户的所有信息,或者想更深入地使用Facebook的图形API,可以看看这个链接:https://github.com/tschellenbach/Django-facebook
这里有个演示,展示它是多么好用:
http://www.fashiolista.com/intro_wide/
功能介绍(摘自github)
- 可以通过以下方式访问Facebook API:
- 你自己的网站(使用JavaScript的OAuth认证)
- Facebook的画布页面(用于创建Facebook应用)
- 手机(或者任何其他能提供有效访问令牌的方式)
- Django用户注册(将Facebook用户数据转换为用户模型)
- 使用Facebook的数据在你的Django应用中注册用户。通过开放图形API连接Facebook。
- 支持Facebook FQL访问
- 符合OAuth 2.0标准
- 包含Open Facebook(一个稳定且经过测试的Python客户端,用于访问图形API)
4
如果你想找一些现成的Django应用来和你的项目结合,可以看看这个认证包。里面大多数提供Facebook认证的包已经更新,支持OAuth 2协议有一段时间了。
另一方面,如果你想直接通过OAuth 2库与某个提供商合作,可以看看python-oauth2
——在它的README里有一个很详细的例子,教你如何和Django的认证系统快速集成。