简短而甜蜜的是......我可以在 angular 7 中使用什么代码向 gmail api 批处理端点发出批处理请求?
我已经能够使用邮递员成功地使用 gmail api 发出批处理请求...使用原始正文格式,但似乎无法从我的 angular 7 应用程序中向 gmail api 批处理端点制作正确的发布请求。由于语法无效,我收到错误响应 400。
在邮递员中,它就像使用 Authorization: Bearer和Content-Type: multipart/mixed设置令牌一样简单;boundary="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 并将其作为正文传递...
我正在尝试弄清楚如何正确地将发布请求的正文形成到 gmail api 批处理端点,以便我可以发出和接收批处理请求......非常感谢任何可以帮助我解决这个问题的人。