Giter Club home page Giter Club logo

chinaapi's Introduction

ChinaAPI

ChinaAPI是一个API库,使用Python语言编写。

https://travis-ci.org/smallcode/ChinaAPI.png https://badge.fury.io/py/chinaapi.png

支持

  • 新浪微博
  • 腾讯微博
  • 淘宝
  • 人人
  • 豆瓣(OAuth2)

安装

可以到项目所在地址下载:https://github.com/smallcode/ChinaAPI

或者直接用pip安装:

$ pip install chinaapi

注:ChinaAPI使用: Requests (Http请求模块)


新浪微博API:

Client使用方法:

from chinaapi.sina.weibo.open import Client


client = Client()
client.set_access_token('access_token')  # 填上取得的token(可通过OAuth2取得)

# 获取用户信息,对应的接口是:users/show
r = client.users.show(uid=123456)
print r.name  # 显示用户名

# 发布带图片的微博,对应的接口是:statuses/upload
with open('pic.jpg', 'rb') as pic:
    r = client.statuses.upload(status=u'发布的内容', pic=pic)
print r.id  # 显示发布成功的微博的编号(即mid):1234567890123456

Client调用规则:斜杠(/)映射为点(.)

新浪微博API 调 用
users/show client.users.show()
statuses/upload client.statuses.upload()
... ...

更多API请参见:新浪微博API文档

OAuth2使用方法:

from chinaapi.sina.weibo.open import OAuth2, App


# 设置App,填上自己的app_key,app_secret;redirect_uri可不填
app = App('app_key', 'app_secret', 'redirect_uri')

# 获取授权链接
oauth2 = OAuth2(app)
url = oauth2.authorize()  # 如果app中未设置redirect_uri,则此处必须传入
print url # 显示授权链接(该url用于提供给用户进行登录授权,授权成功后会回调redirect_uri?code=****)

# 获取Token
token = oauth2.access_token(code='code')  #  code取自回调地址后所附的code参数
print token.access_token  # 显示访问令牌
print token.expires_in  # 显示令牌剩余授权时间的秒数
print token.expired_at  # 显示令牌到期日期,为timestamp格式

# 取消授权
r = oauth2.revoke('access_token')
print r # 显示是否成功取消

OAuth2调用规则:斜杠(/)映射为点(.)

新浪微博oauth2 API 调 用
oauth2/authorize oauth2.authorize()
oauth2/access_token oauth2.access_token()
oauth2/get_token_info oauth2.get_token_info()
oauth2/revokeoauth2 oauth2.revoke()

淘宝API:

使用示例:

from chinaapi.taobao.open import Client, App


# client的设置
app = App('app_key', 'app_secret')  # 填上自己的app_key,app_secret
client = Client(app)

# 获取淘宝客店铺列表,对应的接口是:taobao.tbk.shops.get
# 返回结果r是json中tbk_shops_get_response的值
# 所有的接口都直接返回response(键名为:接口+_response后缀)的值
r = client.tbk.shops.get(cid=14, fields='user_id,seller_nick,shop_title,pic_url')
print len(r.tbk_shops.tbk_shop)  # 显示店铺列表的数量:40

调用规则:直接映射(可省略前缀taobao.)

淘宝API 调 用
taobao.itemcats.get client.itemcats.get() 或者 client.taobao.itemcats.get()
taobao.tbk.shops.get client.tbk.shops.get() 或者 client.taobao.tbk.shops.get()

更多API请参见:淘宝API文档


腾讯微博API:

使用方法:

from chinaapi.qq.weibo.open import Client, App


# client的设置
app = App('app_key', 'app_secret')  # 填上自己的app_key,app_secret
client = Client(app, openid='openid')  # 填上取得的openid
client.set_access_token('access_token')  # 填上取得的access_token

# 获取当前登录用户的信息,对应的接口是:user/info
# 返回结果r是json中的data值
r = client.user.info()
print r.name  # 显示用户名

# 发布一条带图片的微博,对应的接口是:t/add_pic
with open('pic.jpg', 'rb') as pic:
    r = client.t.add_pic(content=u'发布的内容', pic=pic)
print r.id  # 显示微博的ID

# 删除一条微博,对应的接口是:t/del
r = client.t.delete(id=r.id)  # 请将del替换为delete
print r.id  # 显示微博的ID

# 有两种设置clientip的方法:
# 1.全局设置,在该client所发起的所有调用中有效
client.clientip = '220.181.111.85'
# 2.临时设置,只在此次调用中有效,会覆盖全局设置
client.t.upload_pic(pic=pic, pic_type=2, clientip='220.181.111.85')

调用规则:斜杠(/)映射为点(.),del映射为delete(因del是Python保留字,无法作为方法名)

腾讯微博API 调 用
user/info client.user.info()
t/add_pic client.t.add_pic()
t/del client.t.delete()

更多API请参见:腾讯微博API文档


人人API:

使用方法:

from chinaapi.renren.open import Client


client = Client()
client.set_access_token('access_token')  # 填上取得的access_token

# 获取用户信息,对应的接口是:/v2/user/get
r = client.user.get(userId=334258249)
print r.name  # 显示用户名

# 上传照片至用户相册,对应的接口是:/v2/photo/upload
with open('pic.jpg', 'rb') as pic:
    r = client.photo.upload(file=pic)
print r.id  # 显示照片的ID

调用规则:斜杠(/)映射为点(.)

人人API 调 用
/v2/user/get client.user.get()
/v2/photo/upload client.photo.upload()

更多API请参见:人人API文档


感谢以下Python SDK的开发者们的贡献:

chinaapi's People

Contributors

smallcode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chinaapi's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.