Releases: SevereCloud/vksdk
v3.0.1
What's Changed
- Log callback failed to write response error by @gaiaz-iusipov in #304
- fix: rename max & min size var 59cb208
- fix(callback): check Fprint error 0314622
Full Changelog: v3.0.0...v3.0.1
v3.0.0
v2.17.0
What's Changed
- feat: using go 1.21
- docs: update links
- deps: update golang.org/x/text to v0.16.0
Full Changelog: v2.16.1...v2.17.0
v2.16.1
What's Changed
- feat(response): добавлена поддержка массива строк в тексте by @error-ident in #249
- Update board.go by @crossworth in #250
- fix panic while unmarshaling into
object.BaseLinkRating
by @RenCurs in #256
Full Changelog: v2.16.0...v2.16.1
v2.16.0
What's Changed
- feat: using go 1.18 by @SevereCloud in #235
- feat(api): add calls by @SevereCloud in #218
- Added PostponedID field to WallWallPost by @ostiwe in #225
- fix: StatsWallpostStat by @dshemin in #234
- fix: add field image_status by @ST380011A in #215
Full Changelog: v2.15.0...v2.16.0
v2.15.0
Changelog
31138d4 feat(api): add messages.startCall and messages.forceCallFinish
364b484 feat(api): add TestingGroup methods
4e5e665 feat(api): use Authorization Bearer
0cfb7ea feat(api): add ErrAuthAccessTokenHasExpired
b9dba27 feat(api): add ErrAuthAnonymousTokenIPMismatch
eee5f4c feat(vkapps): add Showcase Referral
2b5f8f2 fix(foaf): add ErrorStatusCode
v2.14.1
v2.14.0
Версия API в Callback и Bots Long Poll API
Теперь можно получить версию API в Callback и Bots Long Poll API с помощью функции events.VersionFromContext(ctx)
877a027 feat(event): add VersionFromContext
Прямые трансляции
Добавлены методы получения RTMP-адреса для трансляции видео и завершения трансляции
69e9790 feat: add video start & stop streaming
2ba1dab feat: add VideoLiveGetCategories
v2.13.1
v2.13.0
Поддержка MessagePack и zstd
Результат перехода с gzip (JSON) на zstd (msgpack):
- в 7 раз быстрее сжатие (–1 мкс);
- на 10% меньше размер данных (8 Кбайт вместо 9 Кбайт);
- продуктовый эффект не статзначимый :(
Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза
VK API способно возвращать ответ в виде MessagePack. Это эффективный формат двоичной сериализации, похожий на JSON, только быстрее и меньше по размеру.
ВНИМАНИЕ, C MessagePack НЕКОТОРЫЕ МЕТОДЫ МОГУТ ВОЗВРАЩАТЬ СЛОМАННУЮ КОДИРОВКУ.
Для сжатия, вместо классического gzip, можно использовать zstd. Сейчас vksdk поддерживает zstd без словаря. Если кто знает как получать словарь, отпишитесь сюда.
vk := api.NewVK(os.Getenv("USER_TOKEN"))
method := "store.getStickersKeywords"
params := api.Params{
"aliases": true,
"all_products": true,
"need_stickers": true,
}
r, err := vk.Request(method, params) // Content-Length: 44758 byte
if err != nil {
log.Fatal(err)
}
log.Println("json:", len(r)) // json: 814231 byte
vk.EnableMessagePack() // enable MessagePack
vk.EnableZstd() // enable zstd
r, err = vk.Request(method, params) // Content-Length: 35755 byte
if err != nil {
log.Fatal(err)
}
log.Println("msgpack:", len(r)) // msgpack: 650775 byte
0ed3f0c feat: api support MessagePack
15a6084 feat: api support zstd
Авторизация используя VK ID
VK ID — это единая платформа для авторизации и регистрации пользователей в разных сервисах экосистемы VK.
Для получения данных о пользователя, с фронтенда передайте payload
// В onAuthData callback-функции в аргументе data будет содержаться
// информация об авторизации
const onAuthData = (data:VKUserVisibleAuthResult) => {
if (data.provider === "vk") {
fetch('/accessToken', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data.payload)
});
}
console.log(data);
}
На бэкенде используйте json декодер.
func accessToken(w http.ResponseWriter, req *http.Request) {
var payload vkid.SilentAuthPayload
err := json.NewDecoder(req.Body).Decode(&payload)
...
}
Чтобы получить данные пользователя с помощью Silent token вызовите метод AuthGetProfileInfoBySilentToken
p := params.NewAuthGetProfileInfoBySilentTokenBuilder()
p.Add(payload.Token, payload.UUID, "click")
r, err := vk.AuthGetProfileInfoBySilentToken(p.Params)
Для получения Access token вызовите метод vk.AuthExchangeSilentAuthToken
p := params.NewAuthExchangeSilentAuthTokenBuilder()
p.Token(payload.Token)
p.UUID(payload.UUID)
r, err := vk.AuthExchangeSilentAuthToken(p.Params)
aaa7499 feat: add SilentAuthPayload
db2c8e7 feat: add AuthGetProfileInfoBySilentToken method
b286e3d feat: add AuthExchangeSilentAuthToken method
Разное
c58c2c9 feat: MessagesTemplateElementCarousel add PhotoID (#171)
04b056b Fix parsing {failed: 1} response (by @Delorus)