@glodev

Реализация post запроса к vk api?

Делал запросы к вк через get без проблем )
resp, err := http.Get("https://api.vk.com/method/users.get?user_ids=" + id + "&fields=about,activities,books .....

Уперся в ограничение объема (длинны) запроса, собственно принято перейти на POST
resp, err := http.Post("https://api.vk.com/method/users.get","POST",_)

Интересует как правильно передать запрос, и параметры такие как юзер лист и поля?
Какой выбрать contentType string и как правильно передать поля в body io.Reader
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
@glodev Автор вопроса
Content type можно использовать application/x-www-form-urlencoded, в теле можно передать именно те параметры, которые не проходят по длине в GET. Например, если нужно передать длинный текст.

Формат body можно посмотреть в Википедии https://ru.wikipedia.org/wiki/POST_(HTTP).

Команда поддержки ВКонтакте
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@basrach
import (
...
    "net/http"
    "net/url"
    "strings"
...
)

func main() {
...
        data := url.Values{}
	data.Add("user_ids", id)
	data.Add("fields", "about")
	data.Add("fields", "activities")
	data.Add("fields", "books")

	resp, err := http.Post("https://api.vk.com/method/users.get", "POST", strings.NewReader(data.Encode()))
...
}
Ответ написан
Комментировать
@NonameProgrammer
POST тут роли не сыграет. Разделяете на две части нужные параметры и делаете два запроса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы