Django实现odnoklassniki照片和相册API
项目描述
Django Odnoklassniki Photos
===========================
[](http://badge.fury.io/py/django-odnoklassniki-photos) [](https://travis-ci.org/ramusus/django-odnoklassniki-photos) [](https://coveralls.io/r/ramusus/django-odnoklassniki-photos)
该应用程序允许通过OK API使用Django标准模型与社交网络“ Одноклассники”的照片和照片专辑进行交互,包括其统计信息和群组用户
安装
---------
pip install django-odnoklassniki-photos
在 `settings.py` 中需要添加
INSTALLED_APPS = (
...
'oauth_tokens',
'taggit',
'odnoklassniki_api',
'odnoklassniki_groups',
'odnoklassniki_users',
'odnoklassniki_photos',
)
# oauth-tokens 设置
OAUTH_TOKENS_HISTORY = True # 保留数据库中的过期访问令牌
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_ID = 12345678 # 应用程序ID
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_PUBLIC = '' # 应用程序公钥
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_SECRET = '' # 应用程序密钥
OAUTH_TOKENS_ODNOKLASSNIKI_SCOPE = [''] # 应用程序作用域
OAUTH_TOKENS_ODNOKLASSNIKI_USERNAME = '' # 用户登录名
OAUTH_TOKENS_ODNOKLASSNIKI_PASSWORD = '' # 用户密码
API方法覆盖
--------------------
* [photo.getAlbums](http://apiok.ru/wiki/display/api/photo.getAlbums) – 获取群组相册列表;
* [photo.getAlbumInfo](http://apiok.ru/wiki/display/api/photo.getAlbumInfo) – 获取特定相册的信息;
* [photo.getAlbumLikes](http://apiok.ru/wiki/display/api/photo.getAlbumLikes) – 获取为特定相册点赞的用户列表;
* [photo.getInfo](http://apiok.ru/wiki/display/api/photo.getInfo) – 获取特定照片的信息;
* [photo.getPhotos](http://apiok.ru/wiki/display/api/photo.getPhotos) – 获取群组相册中的照片列表;
* [photo.getPhotoLikes](http://apiok.ru/wiki/display/api/photo.getPhotoLikes) – 获取对特定照片点赞的用户列表;
示例使用
---------------------
所有示例都可以在测试文件(test.py)中找到。以下是简要列表
### 获取群组相册
>>> from odnoklassniki_photos.models import Album
>>> from odnoklassniki_groups.models import Group
>>> group = Group.remote.fetch(ids=[50415375614101])[0]
>>> Album.remote.fetch_group_specific(group=group, ids=[51836162801813, 51751246299285])
[<Album: Album object>, <Album: Album object>]
>>> Album.remote.fetch(group=group, all=True)
[<Album: Album object>, <Album: Album object>, <Album: Album object>, ... ]
### 获取群组照片
>>> from odnoklassniki_groups.models import Group
>>> from odnoklassniki_photos.models import Album, Photo
>>> group = Group.remote.fetch(ids=[50415375614101])[0]
>>> album = Album.remote.fetch_group_specific(group=group, ids=[51836162801813])[0]
>>> Photo.remote.fetch(group=group, album=album, all=True)
[<Photo: Photo object>, <Photo: Photo object>, <Photo: Photo object>, ... ]
### 获取照片点赞
为此需要安装额外的应用程序
[`django-odnoklassniki-users`](http://github.com/ramusus/django-odnoklassniki-users/) 并将其添加到 `INSTALLED_APPS`
[`django-m2m-history`](http://github.com/ramusus/django-m2m-history/)
>>> from odnoklassniki_groups.models import Group
>>> from odnoklassniki_photos.models import Album, Photo
>>> group = Group.remote.fetch(ids=[44257342587000])[0]
>>> album = Album.remote.fetch_group_specific(group=group, ids=[53047339778168])[0]
>>> photo = Photo.remote.fetch_group_specific(group=group, album=album, ids=[545406014072])[0]
>>> users = photo.fetch_likes()
>>> users.count()
146
===========================
[](http://badge.fury.io/py/django-odnoklassniki-photos) [](https://travis-ci.org/ramusus/django-odnoklassniki-photos) [](https://coveralls.io/r/ramusus/django-odnoklassniki-photos)
该应用程序允许通过OK API使用Django标准模型与社交网络“ Одноклассники”的照片和照片专辑进行交互,包括其统计信息和群组用户
安装
---------
pip install django-odnoklassniki-photos
在 `settings.py` 中需要添加
INSTALLED_APPS = (
...
'oauth_tokens',
'taggit',
'odnoklassniki_api',
'odnoklassniki_groups',
'odnoklassniki_users',
'odnoklassniki_photos',
)
# oauth-tokens 设置
OAUTH_TOKENS_HISTORY = True # 保留数据库中的过期访问令牌
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_ID = 12345678 # 应用程序ID
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_PUBLIC = '' # 应用程序公钥
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_SECRET = '' # 应用程序密钥
OAUTH_TOKENS_ODNOKLASSNIKI_SCOPE = [''] # 应用程序作用域
OAUTH_TOKENS_ODNOKLASSNIKI_USERNAME = '' # 用户登录名
OAUTH_TOKENS_ODNOKLASSNIKI_PASSWORD = '' # 用户密码
API方法覆盖
--------------------
* [photo.getAlbums](http://apiok.ru/wiki/display/api/photo.getAlbums) – 获取群组相册列表;
* [photo.getAlbumInfo](http://apiok.ru/wiki/display/api/photo.getAlbumInfo) – 获取特定相册的信息;
* [photo.getAlbumLikes](http://apiok.ru/wiki/display/api/photo.getAlbumLikes) – 获取为特定相册点赞的用户列表;
* [photo.getInfo](http://apiok.ru/wiki/display/api/photo.getInfo) – 获取特定照片的信息;
* [photo.getPhotos](http://apiok.ru/wiki/display/api/photo.getPhotos) – 获取群组相册中的照片列表;
* [photo.getPhotoLikes](http://apiok.ru/wiki/display/api/photo.getPhotoLikes) – 获取对特定照片点赞的用户列表;
示例使用
---------------------
所有示例都可以在测试文件(test.py)中找到。以下是简要列表
### 获取群组相册
>>> from odnoklassniki_photos.models import Album
>>> from odnoklassniki_groups.models import Group
>>> group = Group.remote.fetch(ids=[50415375614101])[0]
>>> Album.remote.fetch_group_specific(group=group, ids=[51836162801813, 51751246299285])
[<Album: Album object>, <Album: Album object>]
>>> Album.remote.fetch(group=group, all=True)
[<Album: Album object>, <Album: Album object>, <Album: Album object>, ... ]
### 获取群组照片
>>> from odnoklassniki_groups.models import Group
>>> from odnoklassniki_photos.models import Album, Photo
>>> group = Group.remote.fetch(ids=[50415375614101])[0]
>>> album = Album.remote.fetch_group_specific(group=group, ids=[51836162801813])[0]
>>> Photo.remote.fetch(group=group, album=album, all=True)
[<Photo: Photo object>, <Photo: Photo object>, <Photo: Photo object>, ... ]
### 获取照片点赞
为此需要安装额外的应用程序
[`django-odnoklassniki-users`](http://github.com/ramusus/django-odnoklassniki-users/) 并将其添加到 `INSTALLED_APPS`
[`django-m2m-history`](http://github.com/ramusus/django-m2m-history/)
>>> from odnoklassniki_groups.models import Group
>>> from odnoklassniki_photos.models import Album, Photo
>>> group = Group.remote.fetch(ids=[44257342587000])[0]
>>> album = Album.remote.fetch_group_specific(group=group, ids=[53047339778168])[0]
>>> photo = Photo.remote.fetch_group_specific(group=group, album=album, ids=[545406014072])[0]
>>> users = photo.fetch_likes()
>>> users.count()
146