텍스트 파트 표시 Gmail 애드온 만들기
7381 단어 GSuitegmailgoogleAppscriptgas
계기
Gmail에서 텍스트 파트를 선택적으로 표시하는 기능이 없어지고 나서 오랜 오늘 요즘입니다만, 멀티 파트 메일의 송신 테스트로 텍스트 파트의 내용을 육안 확인을 하지 않으면 안 되는 장면이 있습니다(날마다, 고객에게 보내고 있다 메일의 내용에 문제가 없는지 최종 확인하는 아레입니다).
Gmail의 경우 자동으로 HTML 파트가 표시되므로 텍스트 파트를 표시하려고하면
디코딩 도구 로 디코딩
라고 하는 순서를 밟을 필요가 있어, 거기 부담이 됩니다. 물론, 오래된 Becky! 모나 Thunderbird 모 같은 메일러를 사용하면 텍스트 파트의 내용은 확인할 수 있습니다만, 모처럼 Gmail을 메인으로 사용하고 있다면, 텍스트 파트의 확인도 Gmail로 완결시키고 싶다 그건 그렇고.
그래서 Gmail에서 텍스트 파트를 표시하는 애드온을 만들어 보기로 했습니다.
Gmail 애드온 기본
Gmail 애드온에 대해서는 공식 정보을 보는 것이 좋습니다. 단 4단계만으로 샘플 애드온을 만들 수 있습니다. 이번 작성하는 것도 기본적으로는 이것을 베이스로 하고 있습니다.
실제 코드
작성하는 코드는 매니페스트 파일과 Google App Script 구현 2 파일뿐입니다.
appscript.json
우선 매니페스트 파일에서 살펴 보겠습니다. 내용은 매우 보통이지만, 포인트는 oauthScopes에게 메시지 내용에 액세스하기 위해 https://www.googleapis.com/auth/gmail.addons.current.message.readonly
의 권한을 부여하고 있다는 것입니다.
appscript.json{
"oauthScopes": [
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
"https://www.googleapis.com/auth/gmail.addons.current.message.readonly"
],
"gmail": {
"name": "text/plain",
"logoUrl": "https://www.gstatic.com/images/icons/material/system/1x/label_googblue_24dp.png",
"contextualTriggers": [{
"unconditional": {
},
"onTriggerFunction": "buildAddOn"
}],
"primaryColor": "#4285F4",
"secondaryColor": "#4285F4"
}
}
Code.js
실은 파일명은 무엇이든 좋지만, 매니페스트 파일의 onTriggerFunction
로 지정한 엔트리 포인트가 되는 함수를 구현하고 있습니다. 포인트가 되는 것은 텍스트 파트의 내용을 취득하고 있는 message.getPlainBody()
의 부분입니다. 메일은 여러가지 문자 코드로 보내져 오므로, ISO-2022-JP라든지 UTF-8등을 스스로 디코드하지 않으면 안 될까 생각하고, 전부 Google App Script측에서 디코드 처리까지 해 줍니다. 초락 진.
Code.jsfunction buildAddOn(e) {
// Activate temporary Gmail add-on scopes.
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
var messageId = e.messageMetadata.messageId;
var message = GmailApp.getMessageById(messageId);
// Section for text/plain part
var section = CardService.newCardSection();
var textPart = CardService.newTextParagraph()
.setText(message.getPlainBody());
section.addWidget(textPart);
// Build the main card after adding the section.
var card = CardService.newCardBuilder()
.addSection(section)
.build();
return [card];
}
이런 느낌의 프로젝트를 만들어 먼저 소개한 순서로 배포를 하면 OK입니다.
실행해보기
애드온을 설치한 Gmail에서 이메일을 선택하면 애드온 화면에 텍스트 파트의 내용이 표시됩니다.
난점으로서는, 이하와 같은 것이 있습니다만, 어느 정도 쭉 확인하는 목적이면 우선 사용물이 될 것 같습니다.
작성하는 코드는 매니페스트 파일과 Google App Script 구현 2 파일뿐입니다.
appscript.json
우선 매니페스트 파일에서 살펴 보겠습니다. 내용은 매우 보통이지만, 포인트는 oauthScopes에게 메시지 내용에 액세스하기 위해
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
의 권한을 부여하고 있다는 것입니다.appscript.json
{
"oauthScopes": [
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
"https://www.googleapis.com/auth/gmail.addons.current.message.readonly"
],
"gmail": {
"name": "text/plain",
"logoUrl": "https://www.gstatic.com/images/icons/material/system/1x/label_googblue_24dp.png",
"contextualTriggers": [{
"unconditional": {
},
"onTriggerFunction": "buildAddOn"
}],
"primaryColor": "#4285F4",
"secondaryColor": "#4285F4"
}
}
Code.js
실은 파일명은 무엇이든 좋지만, 매니페스트 파일의
onTriggerFunction
로 지정한 엔트리 포인트가 되는 함수를 구현하고 있습니다. 포인트가 되는 것은 텍스트 파트의 내용을 취득하고 있는 message.getPlainBody()
의 부분입니다. 메일은 여러가지 문자 코드로 보내져 오므로, ISO-2022-JP라든지 UTF-8등을 스스로 디코드하지 않으면 안 될까 생각하고, 전부 Google App Script측에서 디코드 처리까지 해 줍니다. 초락 진.Code.js
function buildAddOn(e) {
// Activate temporary Gmail add-on scopes.
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
var messageId = e.messageMetadata.messageId;
var message = GmailApp.getMessageById(messageId);
// Section for text/plain part
var section = CardService.newCardSection();
var textPart = CardService.newTextParagraph()
.setText(message.getPlainBody());
section.addWidget(textPart);
// Build the main card after adding the section.
var card = CardService.newCardBuilder()
.addSection(section)
.build();
return [card];
}
이런 느낌의 프로젝트를 만들어 먼저 소개한 순서로 배포를 하면 OK입니다.
실행해보기
애드온을 설치한 Gmail에서 이메일을 선택하면 애드온 화면에 텍스트 파트의 내용이 표시됩니다.
난점으로서는, 이하와 같은 것이 있습니다만, 어느 정도 쭉 확인하는 목적이면 우선 사용물이 될 것 같습니다.
Gmail 15주년 축하합니다!
Reference
이 문제에 관하여(텍스트 파트 표시 Gmail 애드온 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/awwa/items/1eb23ff1f65a8c5d6e1a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)