Django Vkontakte Groups Migration
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π³ΡΡΠΏΠΏΠ°Ρ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Django
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
pip install django-vkontakte-groups-migration
Π settings.py
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ:
INSTALLED_APPS = (
...
'oauth_tokens',
'vkontakte_api',
'vkontakte_users',
'vkontakte_groups',
'vkontakte_groups_migration',
)
# 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
- groups.getMembers β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π³ΡΡΠΏΠΏΡ;
Π ΠΏΠ»Π°Π½Π°Ρ :
- ΠΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ groups.getMembers Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
django-vkontakte-groups
;
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π·Π° ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Π³ΡΡΠΏΠΏΡ
>>> from vkontakte_groups.models import Group
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> group.update_users()
Π‘ΡΠ΅Π· ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
>>> migration = group.migrations.all()[0]
>>> len(migration.members_ids)
5277888
>>> migration.members_count
5277888
ΠΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
>>> group.users.count()
5277888