Skip to content

Files

Latest commit

 

History

History
56 lines (50 loc) · 2.83 KB

README.md

File metadata and controls

56 lines (50 loc) · 2.83 KB

Бесплатный хостинг фотографий VK

Для хакатонов или пет-проектов.

Установка

go get github.com/grulex/vk-photo-hosting

Начало

  • Регистрируемся на vk.com
  • Создаём новое сообщество тут. Рекомендуется в "тип группы" выбирать "частная", чтобы случайные посетители не видели ваши альбомы
  • В "Альбомах" создаём новый альбом. Открыть раздел можно по ссылке вида https://vk.com/albums-{id сообщества}
  • Копируем URL полученного альбома. В ссылке видим {Id группы}-{Id Альбома}
  • Получаем токен пользователя тут. После предоставления доступа копируем из URL значениеaccess_token

Таким образом, мы получили всё необходимое для работы с библиотекой: userToken, groupId, albumId

Использование

Создание объекта хостинга

import "github.com/grulex/vk-photo-hosting"
//...
hosting := vkphotohosting.NewHosting(userToken, groupId, time.Minute)

Загрузка файла в альбом

photoPath := "/tmp/myphoto.jpg"
id, variants, err := hosting.UploadByFile(context.Background(), albumId, photoPath)
  • id — идентификатор фотографии в альбоме
  • variants — коллекция с разными размерами фотографии. Есть методы для получения максимального и минимального размера. В каждом объекте есть свой URL и размеры.

Все методы

// Загрузка из Reader
UploadByReader(ctx context.Context, albumId uint64, image io.Reader)

// Загрузка по пути к файлу
UploadByFile(ctx context.Context, albumId uint64, filePath string) (id uint64, variants internal.Variants, err error)

// Загрузка из внешнего URL в свой альбом
UploadByUrl(
    ctx context.Context,
    albumId uint64,
    photoUrl string,
    downloadTimeout time.Duration,
) (
    id uint64,
    variants internal.Variants,
    err error,
)

Лимиты

  • Количество запросов в секунду. Можно повторно выполнить через 1 сек.
  • 5000 фотографий в одном альбоме. Можно создать новый альбом в группе