Django Vkontakte Photos
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΌΠΈ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Django ΡΠ΅ΡΠ΅Π· ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ API
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
pip install django-vkontakte-photos
Π settings.py
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ:
INSTALLED_APPS = (
...
'oauth_tokens',
'taggit',
'vkontakte_api',
'vkontakte_places,
'vkontakte_groups',
'vkontakte_users',
'vkontakte_photos',
)
# oauth-tokens settings
OAUTH_TOKENS_HISTORY = True # to keep in DB expired access tokens
OAUTH_TOKENS_VKONTAKTE_CLIENT_ID = '' # application ID
OAUTH_TOKENS_VKONTAKTE_CLIENT_SECRET = '' # application secret key
OAUTH_TOKENS_VKONTAKTE_SCOPE = ['ads,wall,photos,friends,stats'] # application scopes
OAUTH_TOKENS_VKONTAKTE_USERNAME = '' # user login
OAUTH_TOKENS_VKONTAKTE_PASSWORD = '' # user password
OAUTH_TOKENS_VKONTAKTE_PHONE_END = '' # last 4 digits of user mobile phone
ΠΠΎΠΊΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² API
- photos.getAlbums β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π°Π»ΡΠ±ΠΎΠΌΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
- photos.get β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π² Π°Π»ΡΠ±ΠΎΠΌΠ΅;
- photos.getComments β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ;
- photos.createComment β ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ;
- photos.deleteComment β ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ;
- photos.restoreComment β Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ;
- photos.editComment β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ;
Π ΠΏΠ»Π°Π½Π°Ρ :
- photos.getById β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΡ ;
- photos.getAllComments β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² Π°Π½ΡΠΈΡ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ Π°Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π°Π»ΡΠ±ΠΎΠΌΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ°
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ; *
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π»Π°ΠΉΠΊΠΎΠ² ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ; *
(*) ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° API
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌΠΎΠ² Π³ΡΡΠΏΠΏΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ Π³ΡΡΠΏΠΏΡ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
django-vkontakte-groups
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² INSTALLED_APPS
>>> from vkontakte_groups.models import Group
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> group.fetch_albums()
[<Album: Coca-Cola ΠΏΡΠΈΠ²ΠΎΠ·ΠΈΠ»Π° ΠΊΡΠ±ΠΎΠΊ ΠΌΠΈΡΠ° ΠΏΠΎ ΡΡΡΠ±ΠΎΠ»Ρ FIFA>,
<Album: Π‘ΡΠ°ΡΠ°Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΠ° Coca-Cola>,
'...(remaining elements truncated)...']
Π€ΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌΡ Π³ΡΡΠΏΠΏΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
>>> group.photoalbums.count()
47
Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ Π°Π»ΡΠ±ΠΎΠΌΠΎΠ² Π³ΡΡΠΏΠΏΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
>>> group.photos.count()
4432
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌΠΎΠ² Π³ΡΡΠΏΠΏΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
>>> from vkontakte_groups.models import Group
>>> from vkontakte_photos.models import Album
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> Album.remote.fetch(group=group, ids=[106769855])
[<Album: Coca-Cola ΠΏΡΠΈΠ²ΠΎΠ·ΠΈΠ»Π° ΠΊΡΠ±ΠΎΠΊ ΠΌΠΈΡΠ° ΠΏΠΎ ΡΡΡΠ±ΠΎΠ»Ρ FIFA>]
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π°Π»ΡΠ±ΠΎΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
django-vkontakte-users
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² INSTALLED_APPS
>>> from vkontakte_users.models import User
>>> from vkontakte_photos.models import Album, Photo
>>> user = User.remote.fetch(ids=[1])[0]
>>> album = Album.remote.fetch(user=user, ids=[159337866])[0]
>>> Photo.remote.fetch(album=album)
[<Photo: Photo object>,
<Photo: Photo object>,
<Photo: Photo object>,
<Photo: Photo object>]