Django实现Twitter API
项目描述
# Django Twitter API
[](https://travis-ci.org/ramusus/django-twitter-api) [](https://coveralls.io/r/ramusus/django-twitter-api)
使用Django模型接口与Twitter API对象交互的应用程序
## 安装
pip安装django-twitter-api
添加到`settings.py`中的行
INSTALLED_APPS = (
...
'oauth_tokens',
'm2m_history',
'taggit',
'twitter_api',
)
# oauth-tokens设置
OAUTH_TOKENS_HISTORY = True # 保留在数据库中过期的访问令牌
OAUTH_TOKENS_TWITTER_CLIENT_ID = '' # 应用ID
OAUTH_TOKENS_TWITTER_CLIENT_SECRET = '' # 应用密钥
OAUTH_TOKENS_TWITTER_USERNAME = '' # 用户登录
OAUTH_TOKENS_TWITTER_PASSWORD = '' # 用户密码
## 用法示例
### 简单API请求
>>> from twitter_api.utils import api
>>> response = api('get_status', 327926550815207424)
>>> response.text
'@mrshoranweyhey Thanks for the love! How about a follow for a follow? :) ^LF'
>>> response.source_url
'http://www.exacttarget.com/social'
>>> response = api('get_user', 'BarackObama')
>>> response.id, response.name
(813286, 'Barack Obama')
### 通过ID获取状态
>>> from twitter_api.models import Status
>>> status = Status.remote.fetch(327926550815207424)
>>> status
<Status: Coca-Cola: @mrshoranweyhey Thanks for the love! How about a follow for a follow? :) ^LF>
>>> status.in_reply_to_status
<Status: FOOODDD: @CocaCola I LOVE U SO MUCH PLEASE FOLLOW ME IT WOULD BE MY DREAM>
### 通过ID和用户名获取用户
>>> from twitter_api.models import User
>>> User.remote.fetch(813286)
<User: Barack Obama>
>>> User.remote.fetch('BarackObama')
<User: Barack Obama>
### 获取用户状态
>>> from models import User
>>> user = User.remote.fetch(813286)
>>> user.fetch_statuses(count=30)
[<状态:Barack Obama:转发 @obamacare:想知道一些令人兴奋的事情?https://#/bDLs2MJbid>,
<状态:Barack Obama:转发 @WhiteHouse:多亏了平价医疗法案,医疗保健费用增长速度为50多年来最慢 → http:/…>,
<状态:Barack Obama:有一个新的截止日期来 #GetCovered。在1月15日之前注册,从2月1日开始有保障:https://#/dVPtUdoZCI>,
...]
### 获取用户关注者
>>> from twitter_api.models import User
>>> user = User.remote.fetch(813286)
>>> user.fetch_followers(all=True)
[<用户:Raymonde Haris>, <用户:Dark king>, <用户:Byby_Cuachaa>, '...(剩余元素被截断)...']
### 获取状态转发
>>> from twitter_api.models import Status
>>> status = Status.remote.fetch(329231054282055680)
>>> status.fetch_retweets()
[<状态:Alexandr:转发 @Tele2Russia:朋友们,我们向您推出一项新服务“无处不在零”https://#/lDT1wmnhUU>,
<状态:Andrew Boriskin:转发 @Tele2Russia:朋友们,我们向您推出一项新服务“无处不在零”https://#/lDT1wmnhUU>,
<状态:Денис Цуканов:转发 @Tele2Russia:朋友们,我们向您推出一项新服务“无处不在零”https://#/lDT1wmnhUU>,
...]
### 获取状态回复
>>> from twitter_api.models import Status
>>> status = Status.remote.fetch(536859483851735040)
>>> status.fetch_replies()
[<状态:Cho:@interfax_news 正确!加油,谢尔盖!!>,
<状态:Татьяна Анисимова:@interfax_news 乱七八糟,先生们!>,
<状态:Григорьев Михаил:@interfax_news eobot.com/user/84048>,
...]
>>> status.replies_count
6
[](https://travis-ci.org/ramusus/django-twitter-api) [](https://coveralls.io/r/ramusus/django-twitter-api)
使用Django模型接口与Twitter API对象交互的应用程序
## 安装
pip安装django-twitter-api
添加到`settings.py`中的行
INSTALLED_APPS = (
...
'oauth_tokens',
'm2m_history',
'taggit',
'twitter_api',
)
# oauth-tokens设置
OAUTH_TOKENS_HISTORY = True # 保留在数据库中过期的访问令牌
OAUTH_TOKENS_TWITTER_CLIENT_ID = '' # 应用ID
OAUTH_TOKENS_TWITTER_CLIENT_SECRET = '' # 应用密钥
OAUTH_TOKENS_TWITTER_USERNAME = '' # 用户登录
OAUTH_TOKENS_TWITTER_PASSWORD = '' # 用户密码
## 用法示例
### 简单API请求
>>> from twitter_api.utils import api
>>> response = api('get_status', 327926550815207424)
>>> response.text
'@mrshoranweyhey Thanks for the love! How about a follow for a follow? :) ^LF'
>>> response.source_url
'http://www.exacttarget.com/social'
>>> response = api('get_user', 'BarackObama')
>>> response.id, response.name
(813286, 'Barack Obama')
### 通过ID获取状态
>>> from twitter_api.models import Status
>>> status = Status.remote.fetch(327926550815207424)
>>> status
<Status: Coca-Cola: @mrshoranweyhey Thanks for the love! How about a follow for a follow? :) ^LF>
>>> status.in_reply_to_status
<Status: FOOODDD: @CocaCola I LOVE U SO MUCH PLEASE FOLLOW ME IT WOULD BE MY DREAM>
### 通过ID和用户名获取用户
>>> from twitter_api.models import User
>>> User.remote.fetch(813286)
<User: Barack Obama>
>>> User.remote.fetch('BarackObama')
<User: Barack Obama>
### 获取用户状态
>>> from models import User
>>> user = User.remote.fetch(813286)
>>> user.fetch_statuses(count=30)
[<状态:Barack Obama:转发 @obamacare:想知道一些令人兴奋的事情?https://#/bDLs2MJbid>,
<状态:Barack Obama:转发 @WhiteHouse:多亏了平价医疗法案,医疗保健费用增长速度为50多年来最慢 → http:/…>,
<状态:Barack Obama:有一个新的截止日期来 #GetCovered。在1月15日之前注册,从2月1日开始有保障:https://#/dVPtUdoZCI>,
...]
### 获取用户关注者
>>> from twitter_api.models import User
>>> user = User.remote.fetch(813286)
>>> user.fetch_followers(all=True)
[<用户:Raymonde Haris>, <用户:Dark king>, <用户:Byby_Cuachaa>, '...(剩余元素被截断)...']
### 获取状态转发
>>> from twitter_api.models import Status
>>> status = Status.remote.fetch(329231054282055680)
>>> status.fetch_retweets()
[<状态:Alexandr:转发 @Tele2Russia:朋友们,我们向您推出一项新服务“无处不在零”https://#/lDT1wmnhUU>,
<状态:Andrew Boriskin:转发 @Tele2Russia:朋友们,我们向您推出一项新服务“无处不在零”https://#/lDT1wmnhUU>,
<状态:Денис Цуканов:转发 @Tele2Russia:朋友们,我们向您推出一项新服务“无处不在零”https://#/lDT1wmnhUU>,
...]
### 获取状态回复
>>> from twitter_api.models import Status
>>> status = Status.remote.fetch(536859483851735040)
>>> status.fetch_replies()
[<状态:Cho:@interfax_news 正确!加油,谢尔盖!!>,
<状态:Татьяна Анисимова:@interfax_news 乱七八糟,先生们!>,
<状态:Григорьев Михаил:@interfax_news eobot.com/user/84048>,
...]
>>> status.replies_count
6
项目详情
关闭
django-twitter-api-0.2.10.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0cd9782789c6407b672ce3c3cd41bd1221d931a910549d6b4820f71f7fedde70 |
|
MD5 | 6af8210be1d6680b12c40d09ff63a545 |
|
BLAKE2b-256 | ab75cfd96c15ea80988c1dda37397b66bcb39f99a66952a66e91dd68228a1f42 |