Skip to content

Commit 2ab9a00

Browse files
committed
1 parent 5abed2e commit 2ab9a00

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

vk_api/vk_api.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ class VkApi(object):
3434
def __init__(self, login=None, password=None, number=None, sec_number=None,
3535
token=None,
3636
proxies=None, captcha_handler=None, config_filename='vk_config.json',
37-
api_version='5.33', app_id=2895443, scope=2097151):
37+
api_version='5.33', app_id=2895443, scope=2097151,
38+
client_secret=None):
3839
"""
3940
:param login: Логин ВКонтакте
4041
:param password: Пароль ВКонтакте
@@ -55,6 +56,8 @@ def __init__(self, login=None, password=None, number=None, sec_number=None,
5556
:param api_version: Версия API (default: '5.33')
5657
:param app_id: Standalone-приложение (default: 2895443)
5758
:param scope: Запрашиваемые права (default: 2097151)
59+
:param client_secret: Защищенный ключ приложения для серверной
60+
авторизации (https://vk.com/dev/auth_server)
5861
"""
5962

6063
self.login = login
@@ -68,6 +71,7 @@ def __init__(self, login=None, password=None, number=None, sec_number=None,
6871
self.api_version = api_version
6972
self.app_id = app_id
7073
self.scope = scope
74+
self.client_secret = client_secret
7175

7276
self.settings = jconfig.Config(login, filename=config_filename)
7377

@@ -253,6 +257,23 @@ def api_login(self):
253257
else:
254258
raise AuthorizationError('Authorization error (api)')
255259

260+
def server_auth(self):
261+
""" Серверная авторизация """
262+
values = {
263+
'client_id': self.app_id,
264+
'client_secret': self.client_secret,
265+
'v': self.api_version,
266+
'grant_type': 'client_credentials'
267+
}
268+
269+
response = self.http.post(
270+
'https://oauth.vk.com/access_token', values).json()
271+
272+
if 'error' in response:
273+
raise AuthorizationError(response['error_description'])
274+
else:
275+
self.token = response
276+
256277
def check_token(self):
257278
""" Прверка access_token на валидность """
258279

0 commit comments

Comments
 (0)