같이 Gmail API를 담당한 팀원과 메일을 다루는 클래스 객체를 만들었다. Gmail API 구조는 생각보다 복잡했다. 특히 JSON 형식의 메일 관련 객체 구조가 복잡했다. 오늘 대부분의 시간을 Gmail 관련 객체를 조사하는데 시간을 보냈다.
가장 기본이 되는 객체는 Message
객체이다. Message
객체 안에는 "payload": MessagePart
형식으로 세부 메세지가 있었다. MessagePart
가 가장 고약했는데, 다음과 같은 형식으로 되어있었다.
{
"partId": string,
"mimeType": string,
"filename": string,
"headers": [
{
object (Header)
}
],
"body": {
object (MessagePartBody)
},
"parts": [
{
object (MessagePart)
}
]
}
재귀적으로 MessagePart
가 구성되어서 다루기가 조금 복잡했다. 특히 "body"
와 "parts"
가 MIME
형식으로 구성된게 복잡했다. 현재까지 알아낸 내용은 MIME
타입이 이미지/오디오/텍스트 형식으로 되어있으며 가장 골치 아픈 문제는 텍스트 형색 MIME 컨텐츠 중 HTML이었다.