django-odnoklassniki-photos

Django implementation for odnoklassniki Photo and Album API


License
BSD-3-Clause
Install
pip install django-odnoklassniki-photos==0.1.5

Documentation

Django Odnoklassniki Photos

PyPI version Build Status Coverage Status

Приложение позволяет взаимодействовать с фотографиями и альбомами фотографий соц. сети Одноклассники, их статистикой и пользователями групп через 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 settings
OAUTH_TOKENS_HISTORY = True                                             # to keep in DB expired access tokens
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_ID = 12345678                         # application id
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_PUBLIC = ''                           # application public key
OAUTH_TOKENS_ODNOKLASSNIKI_CLIENT_SECRET = ''                           # application secret key
OAUTH_TOKENS_ODNOKLASSNIKI_SCOPE = ['']                                 # application scopes
OAUTH_TOKENS_ODNOKLASSNIKI_USERNAME = ''                                # user login
OAUTH_TOKENS_ODNOKLASSNIKI_PASSWORD = ''                                # user password

Покрытие методов API

  • photo.getAlbums – получение списка альбомов группы;
  • photo.getAlbumInfo – получение информации по конкретному альбому;
  • photo.getAlbumLikes – получение списка пользователей поставивших "Класс" конкретному альбому;
  • photo.getInfo – получение информации по конкретной фотке;
  • photo.getPhotos – получение списка фотографий альбома группы;
  • 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 и добавить его в INSTALLED_APPS 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