跳转到主要内容

Django实现Twitter API

项目描述

# Django Twitter API

[![Build Status](https://travis-ci.org/ramusus/django-twitter-api.png?branch=master)](https://travis-ci.org/ramusus/django-twitter-api) [![Coverage Status](https://coveralls.io/repos/ramusus/django-twitter-api/badge.png?branch=master)](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 (33.7 kB 查看哈希值)

上传时间 源代码

支持者