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)