Коротко и сладко ... Какой код я могу использовать в angular 7 для выполнения пакетных запросов к конечной точке пакетного API gmail?
Мне удалось успешно выполнить пакетный запрос с помощью gmail apiиспользуя почтальон ... используя сырой формат тела, но не могу создать правильный почтовый запрос к конечной точке пакета API gmail из моего приложения angular 7.Я получаю ответ об ошибке 400 из-за неверного синтаксиса.
В почтальоне это так же просто, как установить токен с авторизацией: Bearer и Content-Type: multipart / mixed;border = "foo_bar", затем делает тело необработанным запросом с:
--foo_bar
Content-Type: application/http
GET /gmail/v1/users/me/threads/16805106cf1751bc
--foo_bar
Content-Type: application/http
GET /gmail/v1/users/me/threads/16804cfeaeb94c4a
--foo_bar--
Я пробовал это в угловом 7:
private readonly BATCH_API_URL: string = 'https://www.googleapis.com/batch/gmail/v1';
batchTest() {
let authToken = this.authService.getToken();
let body = `--foo_bar
Content-Type: application/http
GET /gmail/v1/users/me/threads/16805106cf1751bc
--foo_bar
Content-Type: application/http
GET/gmail/v1/users/me/threads/16804cfeaeb94c4a
--foo_bar--`
this.httpClient.post(this.BATCH_API_URL, body, {
headers: new HttpHeaders({
'Authorization': `Bearer ${authToken}`,
'Content-Type': `multipart/mixed; boundary="foo_bar"`
})
}).subscribe(response => {
console.log(response);
})
}
Я также пробовал:
let body = String.raw`--foo_bar\r\nContent-Type: application/http\r\n\r\nGET /gmail/v1/users/me/threads/16805106cf1751bc\r\n\r\n--foo_bar--`
... и несколько других длинных кадров, таких как преобразование строки в BufferArray и передача ее в виде тела ...
Я пытаюсь понять, как правильно сформировать тело почтового запроса к конечной точке пакетного API gmail, чтобы я мог отправлять и получать пакетные запросы ... Супер благодарен всем, кто может помочь мне решить эту проблему.