Найти тему
Linux code

API Vkontakte

Оглавление

API Vkontakte - это интерфейс, который позволяет программе работать с базой данных Vkontakte.[Документация]

Для работы с API, необходимо зарегистрировать приложение и получить токен.

Импорт библиотек:

import requests

Токен, ID пользователя, версия API и базовый url:

vk_token = "..."
vk_user_id = "..."
vk_api_version = "5.103"
vk_api_url = "https://api.vk.com/method/"

Получить данные пользователя

def vk_get_user_info():
url = vk_api_url + "users.get"
params = {
'user_id':
vk_user_id,
'access_token':
vk_token,
'v': vk_api_version
}
return requests.get(url, params=params).json()['response'][0]
vk_user_info = vk_get_user_info()
print(vk_user_info)

Получить список альбомов

def vk_get_photo_albums():
url = vk_api_url + "photos.getAlbums"
params = {
'user_id':
vk_user_id,
'access_token':
vk_token,
'v': vk_api_version
}
return requests.get(url, params=params).json()['response']['items']
vk_photo_albums = vk_get_photo_albums()
print(vk_photo_albums)

Загрузить фото

vk_album_id = "..."
def vk_upload_photo(
filepath):
upload_url = vk_get_upload_server(
vk_token, vk_album_id)
upload_file = {'file1': open(
filepath, 'rb')}
response = requests.post(upload_url, files=upload_file).json()
save_url = vk_api_url + "photos.save"
params = {
'album_id': response['aid'],
'server': response['server'],
'photos_list': response['photos_list'],
'hash': response['hash'],
'access_token':
vk_token,
'v': vk_api_version
}
return requests.get(save_url, params=params).json()['response']
filepath = "./image.jpg"
response = vk_upload_photo(filepath)
print("vk_upload_photo:", response)