Skip to content

Releases: SevereCloud/vksdk

v3.0.0

14 Jul 14:45
Compare
Choose a tag to compare

BREAKING CHANGE

Version API 5.199

Full Changelog: v2.16.1...v3.0.0

v2.17.0

02 Jul 08:12
Compare
Choose a tag to compare

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

03 Oct 11:49
05e393f
Compare
Choose a tag to compare

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

02 Mar 19:45
59827ec
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.15.0...v2.16.0

v2.15.0

17 Jul 12:17
Compare
Choose a tag to compare

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

13 Jun 14:58
Compare
Choose a tag to compare

842f06e fix: BanInfo is reference type (fixed #199)
21e68d9 fix: CanDownload is int (fixed #201)

v2.14.0

08 Apr 12:28
10f505f
Compare
Choose a tag to compare

Версия API в Callback и Bots Long Poll API

Теперь можно получить версию API в Callback и Bots Long Poll API с помощью функции events.VersionFromContext(ctx)

877a027 feat(event): add VersionFromContext

Пост ВКонтакте API

Прямые трансляции

Добавлены методы получения RTMP-адреса для трансляции видео и завершения трансляции

69e9790 feat: add video start & stop streaming
2ba1dab feat: add VideoLiveGetCategories

Блог VK о API прямых трансляций

v2.13.1

02 Feb 09:26
Compare
Choose a tag to compare

Changelog

932998f fix: close zstd Reader

v2.13.0

24 Jan 13:06
64932fd
Compare
Choose a tag to compare

Поддержка 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)

v2.12.0

12 Jan 10:47
Compare
Choose a tag to compare

Changelog

869811a Add oauth module

u := oauth.ImplicitFlowUser(oauth.UserParams{
	ClientID: 6888183,
	Scope:    oauth.ScopeUserPhotos + oauth.ScopeUserDocs,
})

image

50871ad Add marusia push

push := marusia.Push{
	PushText: "Hello, i am push",
	Payload:   payload,
}

image

bd2de0d Now go 1.16+

Fix

2e44a0d fix: PhotosSaveOwnerPhotoResponse.photo_src=false
image

47c4582 fix: BUG(VK): GroupsCountersGroup return []
image
See https://vk.com/bug341591

4917458 Fix passing callback requests without secret key (by @gaiaz-iusipov)

80326f2 refactor: change arg type in EventData(MessagesSendMessageEventAnswerBuilder) to interface{} (by @ZakharYA)

New errors

d7d8d41 add ErrMessagesPinExpiringMessage
5ac318f add ErrMessagesCantForwarded

New methods

0593eb5 VK.DefaultHandler make public
4297e6c GroupsLongPollServer add GetURL method

New constants

3a657ed vkapps add MobileIPad Platform
8f29374 vkapps add Widget Referral
990a87f vkapps add NotificationsAuto Referral

New fields

7ea3923 GroupsCountersGroup add Clips fields
5559c84 AccountAccountCounters add fields
db14df1 WallWallpost add fields
a814259 WidgetsWidgetComment add fields
4e2886e add WallWallpostHeader
d62e868 WallWallpost add Hash
45be342 VideoVideo add fields
16556dc Privacy update struct
ac6addf AccountInfo add VkPayEndpointV2
a887b39 MarketAddAlbumResponse add AlbumsCount
f4c4f07 AdsAccount add AdNetworkAllowedPotentially
e6c1227 add AdsMusician
18ec7d7 AppsApp add HasVkConnect
9745603 GroupsMarketInfo add MinOrderPrice
8825eeb WallWallpostToID add fields
f4f1a41 VideoVideo add fields
9cc563b StoriesStory add fields
6bde289 PhotosPhotoFull add OrigPhoto
c57525c MessagesChatPermissions add ChangeStyle
350db94 GroupsGroupSettings add fields
a4673aa GroupsGroup add Like
f4c5853 GroupsMarketInfo add IsHsEnabled
09630a7 MessagesMessage add MessageTag
bfb64f6 MessagesConversation add more fields