ecl_twitter是一個真棒的Twitter庫的Python 2.7+。這使得Twitter的API使用一種快樂,和Django的集成出爐。要了解更多信息,請繼續閱讀!
如果你有一個問題報告或功能請求,將其添加到我們的問題跟踪。
安裝
ECL Twitter是PyPI上,所以我們建議通過PIP安裝:
  PIP安裝ECL-嘰嘰喳喳
配置
如果你想使用ECL Twitter的獨立的應用程序(例如,你寫下載您的tweets的腳本),你需要設置環境變量TWITTER_KEY,TWITTER_SECRET和TWITTER_REDIRECT_URL適當的值你的Twitter應用程序:
出口TWITTER_KEY =“Gmxb5Rh7gpOpzunQ7SQcOA”
出口TWITTER_SECRET =“irhZg1W5NO2r7M9IRwhjHKpzKPjJ3HXc6RYCbrM0”
出口TWITTER_REDIRECT_URL =“http://example.com/oauth/complete”
如果你只願意和Django的集成,請閱讀Django的。
驗證
我們已經取得了認證非常簡單。可能太簡單了,說實話:
>>>從ecl_twitter進口微博
>>>微博=微博()
>>>網址,令牌,密= twitter.generate_authorization()
>>>網址
https://api.twitter.com/oauth/authorize?oauth_token=XXX
在瀏覽器中打開此URL,並允許應用程序後,你會被重定向到一個頁面,一個PIN。這是你的驗證:
>>>微博=微博(令牌,密)
>>>數據= twitter.oauth.access_token(oauth_verifier =驗證)
>>>數據
<對象化#字典oauth_token_secret = unicode的USER_ID = unicode的oauth_token = unicode的screen_name = unicode的>
恭喜你,你已經成功地與Twitter的認證(告訴你,這是很容易)。數據應包含您的令牌,密,用戶ID,和屏幕名稱的對象化的對象。
要調用的API,使用新獲得的訪問令牌和訪問令牌的秘密:
>>>微博=微博(data.oauth_token,data.oauth_token_secret)
>>>微博= twitter.statuses.user_timeline()
>>>微博
<對象化#列表元素:20>
所以,是的。就是這樣。要生養眾多。
與Django的集成
我們上面那樣容易。對於Django的項目,我們已經取得了更容易。在您的看法文件:
從django.contrib.auth進口身份驗證,登錄
從django.http進口HttpResponseRedirect
從ecl_twitter進口twitter_begin,twitter_callback
從.models導入用戶
#...
@twitter_begin
高清oauth_twitter_begin(要求):
&NBSP;通
@twitter_callback
DEF oauth_twitter_complete(請求數據):
&NBSP;用戶_ = User.objects.get_or_create(screen_name = data.screen_name,默認值= {
&NBSP;“access_token”:data.oauth_token,
&NBSP;“access_token_secret”:data.oauth_token_secret})
&NBSP;用戶身份驗證=(ID = user.id)
&NBSP;登錄(請求用戶)
&NBSP;返回HttpResponseRedirect(反向(“家”))
加入這些值來設置:
#你將使用與Twitter用戶進行身份驗證模式。
PRIMARY_USER_MODEL =“app.User”
AUTHENTICATION_BACKENDS =(
&NBSP;#...
&NBSP;“ecl_twitter.backends.TwitterAuthBackend',
)
TWITTER_KEY =“Gmxb5Rh7gpOpzunQ7SQcOA”
TWITTER_SECRET =“irhZg1W5NO2r7M9IRwhjHKpzKPjJ3HXc6RYCbrM0”
TWITTER_REDIRECT_URL =“http://example.com/oauth/complete”
然後映射在你的urls.py了上述看法:
#...
URL模式=模式('app.views',
&NBSP;#...
&NBSP; URL(R'^的OAuth /微博/開始$','oauth_twitter_begin“),
&NBSP; URL(R'^的OAuth /微博/完整的$','oauth_twitter_complete“),
)
大功告成。哦,你可能還需要添加一些字段存儲在用戶模型中的微博相關領域
要求:
- 的Python
- 在Django的
評論沒有發現