{"id":104317,"date":"2026-05-01T13:30:00","date_gmt":"2026-05-01T04:30:00","guid":{"rendered":"https:\/\/support.questetra.com\/?p=104317"},"modified":"2026-05-01T13:40:18","modified_gmt":"2026-05-01T04:40:18","slug":"service-task-gmail-message-get","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/ja\/bpmn-icons\/service-task-gmail-message-get\/","title":{"rendered":"Gmail: \u30e1\u30fc\u30eb\u53d6\u5f97"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"58\" data-attachment-id=\"113157\" data-permalink=\"https:\/\/support.questetra.com\/ja\/developer-blog\/how-to-use-timer-start-event\/attachment\/advanced-banner-new-ja\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?fit=1199%2C68&amp;ssl=1\" data-orig-size=\"1199,68\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"advanced-banner-new-ja\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?fit=1024%2C58&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?resize=1024%2C58&#038;ssl=1\" alt=\"\" class=\"wp-image-113157\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?resize=1024%2C58&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?resize=600%2C34&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?resize=768%2C44&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-ja.png?w=1199&amp;ssl=1 1199w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-background\" style=\"background-color:#ccffcc;margin-top:var(--wp--preset--spacing--30);margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:var(--wp--preset--spacing--20);padding-bottom:0;padding-left:var(--wp--preset--spacing--20)\"><strong>Gmail: \u30e1\u30fc\u30eb\u53d6\u5f97<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-right has-background has-small-font-size mt-0 pt-0 wp-block-paragraph\" style=\"background-color:#ccffcc;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:var(--wp--preset--spacing--30);padding-bottom:0;padding-left:var(--wp--preset--spacing--30)\"><a href=\"https:\/\/support.questetra.com\/ja\/bpmn-icons\/service-task-gmail-message-get\/\">Gmail: Get Email Message<\/a><\/p>\n\n\n\n<p class=\"has-background mt-0 pt-0 wp-block-paragraph\" style=\"background-color:#f0fff0;margin-top:0;margin-right:0;margin-bottom:var(--wp--preset--spacing--60);margin-left:0;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--40)\">\u3053\u306e\u5de5\u7a0b\u306f\u3001Gmail \u306e\u30e1\u30fc\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image alignright has-custom-border is-style-default\" style=\"margin-top: 0px;\"><img decoding=\"async\" src=\"data:image\/png;base64,\niVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADPUlEQVRYR8WXX0hTURzHv2dzy5bb\n1HKKRH+gtx7K2izooXI+BVH41F+IglAJmhVICr2kgRG6DFRERXBpGIgkZA\/Oeigir+VzIGQE1bTU\nyXYdy90Tu+5u997dea9p3PO2nd+fz\/md359zCXReRKv\/76cPW4ysoYKAnARoCSj2gCCP16dYAMEM\nQKYo6OuYhRsqHvnIarGtCjB7wlWELNSCohJAthajACIg6MAKmhxvmJ9r6awJECgrrSSEPgKwTaNj\nuViYUnKncHyiI5N+RoC5clcbpaj6R8cSNULQXjDGVCvZUgQIlDn7CSHnN8O5YINSOlA4PnlBbjMN\nYDNPnuZMIRISgMSdt2\/myeW2KCVV4pxIAvDZbsS0kHCGAgdsdQ0w2HPBPvchMvpCMxexWmGrb4Sx\nqBiRl8NgB31i3TBi2CdURwqg3NUCCo8gme8b5g0IK8q8R7C+BuC4NUFMJU7YG70gZnNSLnj3JuL6\nyUXgdYwxNfHfPEC8yWSxht\/iOi949Q7IMkmcccFFLHquI\/ZtRhEip\/oWtlacS9tjB\/sQ7nwi\/j+y\nYuG2x5sVDxBwuy4RoE8soQTA71MOodaHWB4ZSh3IakWetwvG3XsVweJXEO5slexR4HKhn\/HxALPu\n0m6AXtUEkBASrsR80AlbQ7Mk5HIKJQCA9Dj8E9cSAK5PAErWA8AHg2VBLBbV5FQGwJTDzxxaBShz\nzScHS8JcxitQdZcuoAhAseAYZ\/KFCFC5WhoApQBRnV2AglyGCMDhZ1YtzrpdqgCxwA+w\/b2wemoB\nYlCMQ+zrF4Sf9sBWd1+yrw6g4QriAPMXz8C4cxdyH3fxDUq8loeeIdTWDPORY7A3tqgDyK5ANQkF\nAN6ywQD7Ay\/MzqOg0SiW7t1GdPIDv6UZAOIk1FCGEoDE+bYcd+PP1CS4pWDyxNoBRGWopREpASgl\nglYASSNSasU7Rt+CmFL9fEMAA70Id7eJeaWtmK8E2TDKqfIg+9TZZOmtTH\/m54DaMu0\/AHtTqu3S\nUAgLN66A+zWXUpUPIx5ANo7VHG1gX3kcxw3q+iARTqTrk0yA0PVR+j8ise5neSoSOn6YCBC6fpqJ\nS023j9MN1Lsm1b9qWLIw6P4tOAAAAABJRU5ErkJggg==\n\" alt=\"Auto Step icon\" class=\"has-border-color has-ast-global-color-6-border-color\" style=\"border-width:0.5em\"\/><\/figure>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Basic Configs<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"0 0 -0.7em 0\">\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\"><\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">\u5de5\u7a0b\u540d<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\"><\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">\u30e1\u30e2<\/dd>\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Configs for this Auto Step<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"0 0 -0.7em 0\">\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_auth<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C1: OAuth2 \u8a2d\u5b9a<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_messageId<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C2: \u30e1\u30fc\u30eb ID<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_fromAddress<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C3-A: From \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_fromName<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C3-N: From \u8868\u793a\u540d\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_replyToAddresses<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C4-A: Reply-To \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u4e00\u89a7\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_replyToNames<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C4-N: Reply-To \u8868\u793a\u540d\u4e00\u89a7\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_recipientAddresses<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C5-A: To\/Cc\/Bcc \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u4e00\u89a7\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_recipientNames<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C5-N: To\/Cc\/Bcc \u8868\u793a\u540d\u4e00\u89a7\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_sentDatetime<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C6: \u9001\u4fe1\u65e5\u6642\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_subject<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C7: \u4ef6\u540d\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_body<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C8: \u672c\u6587\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_attachments<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C9: \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee<\/dd>\n\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-lightbulb-exclamation\"><\/i> Notes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u672c\u30e2\u30c7\u30ea\u30f3\u30b0\u8981\u7d20\u306f Google Workspace \u30a2\u30ab\u30a6\u30f3\u30c8\u7528\u3067\u3059\n<ul class=\"wp-block-list\">\n<li>\u4e00\u822c\u30e6\u30fc\u30b6\u30fc\u5411\u3051\u30a2\u30ab\u30a6\u30f3\u30c8\uff08gmail.com\uff09\u3067\u306e\u5229\u7528\u306f\u3067\u304d\u307e\u305b\u3093<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u4e8b\u524d\u6e96\u5099\u3068\u3057\u3066\u3001<a rel=\"noreferrer noopener\" href=\"https:\/\/support.google.com\/a\/answer\/7281227?hl=ja#zippy=%2C%E3%82%A2%E3%83%97%E3%83%AA%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%82%92%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B-%E4%BF%A1%E9%A0%BC%E3%81%A7%E3%81%8D%E3%82%8B%E9%99%90%E5%AE%9A%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF\" target=\"_blank\">Google Workspace \u306e\u7ba1\u7406\u8005\u304c\u5bfe\u8c61\u306e OAuth \u30a2\u30d7\u30ea\u3092\u4fe1\u983c\u3067\u304d\u308b\u30a2\u30d7\u30ea\u3068\u3057\u3066\u8a2d\u5b9a<\/a>\u6e08\u307f\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\n<ul class=\"wp-block-list\">\n<li>\u3053\u306e\u8a2d\u5b9a\u304c\u306a\u3055\u308c\u3066\u3044\u306a\u3044\u72b6\u614b\u3067\u306e\u5229\u7528\u306f\u3067\u304d\u307e\u305b\u3093<\/li>\n\n\n\n<li>\u672c\u30e2\u30c7\u30ea\u30f3\u30b0\u8981\u7d20\u304c\u4f7f\u7528\u3059\u308b OAuth \u30a2\u30d7\u30ea\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 ID \u306f 13039123046-t87nmrj499ffoa58asehks3asajvgqnh.apps.googleusercontent.com \u3067\u3059<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u30e1\u30fc\u30eb ID \u306f Gmail \u4e0a\u3067\u306f\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\n<ul class=\"wp-block-list\">\n<li>\u300c<a rel=\"noreferrer noopener\" href=\"https:\/\/support.questetra.com\/ja\/bpmn-icons\/start-event-gmail-message-received\/\" target=\"_blank\">\u958b\u59cb: Gmail: \u30e1\u30fc\u30eb\u53d7\u4fe1\u6642<\/a>\u300d\u3067\u53d6\u5f97\u3057\u305f\u30e1\u30fc\u30eb ID \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-images\"><\/i> Capture<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border is-style-rounded\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1340\" height=\"1494\" data-attachment-id=\"163951\" data-permalink=\"https:\/\/support.questetra.com\/ja\/developer-blog\/markdown-basic\/attachment\/gmail-message-get_capture_ja-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?fit=1340%2C1494&amp;ssl=1\" data-orig-size=\"1340,1494\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gmail-message-get_capture_ja\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?fit=565%2C630&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?resize=1340%2C1494&#038;ssl=1\" alt=\"\" class=\"has-border-color wp-image-163951\" style=\"border-color:#009900;border-width:3px;border-top-left-radius:9px;border-top-right-radius:9px;border-bottom-left-radius:9px;border-bottom-right-radius:9px\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?w=1340&amp;ssl=1 1340w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?resize=283%2C315&amp;ssl=1 283w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?resize=565%2C630&amp;ssl=1 565w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2024\/07\/gmail-message-get_capture_ja.png?resize=768%2C856&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-balance-scale\"><\/i> See also<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/ja\/developer-blog\/gmail-start\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial: Gmail \u306e\u53d7\u4fe1\u306b\u3088\u308a\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3059\u308b<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/ja\/google-api-user-data-policy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Google API User Data Policy<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/ja\/bpmn-icons\/intermediate-error-catch-event-boundary-type\/\" data-type=\"post\" data-id=\"98921\" target=\"_blank\" rel=\"noreferrer noopener\">\u30a8\u30e9\u30fc\u5883\u754c\u30a4\u30d9\u30f3\u30c8<\/a><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details><summary class=\"wp-block-coblocks-accordion-item__title\">Script (click to open)<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<ul class=\"wp-block-list\">\n<li>\u6b21\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u8a18\u8ff0\u3055\u308c\u3066\u3044\u308b XML \u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/gh-cdn.questetra.net\/Questetra\/Addon-XML\/release-2026-03-30\/gmail-message-get.xml\" target=\"_blank\" rel=\"noreferrer noopener\">gmail-message-get.xml<\/a> (C) Questetra, Inc. (MIT License)<\/li>\n\n\n\n<li>Professional \u306e\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u57fa\u76e4\u3067\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u5185\u5bb9\u3092\u6539\u5909\u3057\u30aa\u30ea\u30b8\u30ca\u30eb\u306e\u30a2\u30c9\u30aa\u30f3\u81ea\u52d5\u5de5\u7a0b\u3068\u3057\u3066\u6d3b\u7528\u3067\u304d\u307e\u3059<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\n\n\/\/ OAuth2 config sample at [OAuth 2.0 Setting]\n\/\/ - Authorization Endpoint URL: https:\/\/accounts.google.com\/o\/oauth2\/auth?access_type=offline&approval_prompt=force\n\/\/ - Token Endpoint URL: https:\/\/oauth2.googleapis.com\/token\n\/\/ - Scope: https:\/\/www.googleapis.com\/auth\/gmail.readonly\n\/\/ - Consumer Key: (Get by Google Developer Console)\n\/\/ - Consumer Secret: (Get by Google Developer Console)\n\nfunction main(){\n  \/\/\/\/ == \u5de5\u7a0b\u30b3\u30f3\u30d5\u30a3\u30b0\u30fb\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u306e\u53c2\u7167 \/ Config & Data Retrieving ==\n  const auth = configs.getObject(&quot;conf_auth&quot;);\n  const messageId = engine.findData( configs.getObject(&quot;conf_messageId&quot;) );\n  const defs = retrieveDefs();\n\n  \/\/\/\/ == \u6f14\u7b97 \/ Calculating ==\n  const hasNoDefs = Object.values(defs).every( def =&gt; def === null );\n  if ( hasNoDefs ) return; \/\/ \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u304c\uff11\u3064\u3082\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u4f55\u3082\u305b\u305a\u6b63\u5e38\u7d42\u4e86\n\n  const apiUri = determineApiUri( messageId );\n  const message = getMessage( apiUri, auth );\n\n  const files = new java.util.ArrayList(); \/\/ \u3082\u3068\u3082\u3068\u6dfb\u4ed8\u3055\u308c\u3066\u3044\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u30af\u30ea\u30a2\u3059\u308b\n  if ( defs.attachmentsDef !== null ) {\n    getAttachments( apiUri, auth, message.attachments );\n    convertAndAddAttachments( message.attachments, files );\n  }\n\n  \/\/ To, Cc, Bcc \u306e\u9806\u306b\u9023\u7d50\n  const recipientEmails = message.recipients.to.emails\n    .concat( message.recipients.cc.emails, message.recipients.bcc.emails );\n  const recipientNames = message.recipients.to.names\n    .concat( message.recipients.cc.names, message.recipients.bcc.names );\n\n  \/\/\/\/ == \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 \/ Data Updating ==\n  setDataIfNotNull( defs.fromAddressDef, message.from.email );\n  setDataIfNotNull( defs.fromNameDef, message.from.name );\n  setDataIfNotNull( defs.replyToAddressesDef, message.replyTo.emails.join(&#39;\\n&#39;) );\n  setDataIfNotNull( defs.replyToNamesDef, message.replyTo.names.join(&#39;\\n&#39;) );\n  setDataIfNotNull( defs.recipientAddressesDef, recipientEmails.join(&#39;\\n&#39;) );\n  setDataIfNotNull( defs.recipientNamesDef, recipientNames.join(&#39;\\n&#39;) );\n  setDataIfNotNull( defs.sentDatetimeDef, new java.sql.Timestamp(Date.parse(message.datetime)) );\n  setDataIfNotNull( defs.subjectDef, message.subject );\n  setDataIfNotNull( defs.bodyDef, message.body );\n  setDataIfNotNull( defs.attachmentsDef, files );\n}\n\n\/**\n  * config \u304b\u3089\u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u306e ProcessDataDefinitionView \u3092\u8aad\u307f\u51fa\u3059\n  * \u5024\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee\u304c\u91cd\u8907\u3057\u3066\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u30a8\u30e9\u30fc\u3068\u3059\u308b\n  * @return {Object} defs  \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u306e ProcessDataDefinitionView \u3092\u683c\u7d0d\u3057\u305f JSON \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\n  *\/\nfunction retrieveDefs() {\n  const items = [&quot;fromAddress&quot;, &quot;fromName&quot;, &quot;replyToAddresses&quot;, &quot;replyToNames&quot;, \n      &quot;recipientAddresses&quot;, &quot;recipientNames&quot;, &quot;sentDatetime&quot;, &quot;subject&quot;, &quot;body&quot;, &quot;attachments&quot;];\n  const defs = {};\n  const dataItemNumSet = new Set(); \/\/ \u30c7\u30fc\u30bf\u9805\u76ee\u306e\u91cd\u8907\u78ba\u8a8d\u7528\n  items.forEach( item =&gt; {\n    const dataItemDef = configs.getObject(`conf_${item}`);\n    if ( dataItemDef !== null ) { \/\/ \u30c7\u30fc\u30bf\u9805\u76ee\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u91cd\u8907\u3092\u78ba\u8a8d\u3059\u308b\n      const dataItemNum = dataItemDef.getNumber();\n      if ( dataItemNumSet.has( dataItemNum ) ) { \/\/ \u30c7\u30fc\u30bf\u9805\u76ee\u756a\u53f7\u304c\u91cd\u8907\u3057\u3066\u3044\u308c\u3070\u30a8\u30e9\u30fc\n        throw new Error(&quot;The same data item is set multiple times.&quot;);\n      }\n      dataItemNumSet.add( dataItemNum ); \/\/ \u30c7\u30fc\u30bf\u9805\u76ee\u306e\u91cd\u8907\u78ba\u8a8d\u7528\n    }\n    defs[`${item}Def`] = dataItemDef;\n  });\n  return defs;\n}\n\n\/**\n  * Gmail \u306e\u30e1\u30fc\u30eb\u53d6\u5f97\u306e URI \u3092\u6c7a\u5b9a\u3059\u308b\n  * \u30e1\u30fc\u30eb ID \u304c\u7a7a\u3067\u3042\u308c\u3070\u30a8\u30e9\u30fc\u3068\u3059\u308b\n  * @param {String} messageId  \u30e1\u30fc\u30eb ID\n  * @return {String} apiUri  API \u306e URI\n  *\/\nfunction determineApiUri( messageId ) {\n  if ( messageId === &quot;&quot; || messageId === null ) {\n    throw new Error(&quot;Message ID is empty.&quot;);\n  }\n  const apiUri = `https:\/\/gmail.googleapis.com\/gmail\/v1\/users\/me\/messages\/${encodeURI(messageId)}`;\n  return apiUri;\n}\n\n\/**\n  * Gmail REST API \u306b\u30e1\u30fc\u30eb\u53d6\u5f97\u306e GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\u5fc5\u8981\u306a\u60c5\u5831\u3092 JSON \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u683c\u7d0d\u3059\u308b\n  * @param {String} apiUri  API \u306e URI\n  * @param {String} auth  \u8a8d\u8a3c\u8a2d\u5b9a\u540d\n  * @return {Object} message  \u30e1\u30fc\u30eb\u60c5\u5831\u3092\u683c\u7d0d\u3057\u305f JSON \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\n  *\/\nfunction getMessage( apiUri, auth ) {\n  const response = httpClient.begin()\n    .authSetting( auth )\n    .get( apiUri );\n\n  \/\/ when error thrown\n  const responseJson = response.getResponseAsString();\n  const status = response.getStatusCode();\n  if (status &gt;= 300) {\n    engine.log(`API URI: ${apiUri}`);\n    const accessLog = `---GET request--- ${status}\\n${responseJson}\\n`;\n    engine.log( accessLog );\n    throw new Error(`Failed to get message. status: ${status}`);\n  }\n\n  \/\/ when successful, parse the message content\n  const json = JSON.parse(responseJson);\n  const message = extractFromPayload( json.payload );\n  return message;\n}\n\n\/**\n  * Gmail REST API \u306e\u30e1\u30fc\u30eb\u53d6\u5f97\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u306e payload \u30d5\u30a3\u30fc\u30eb\u30c9\u304b\u3089\n  * \u5fc5\u8981\u306a\u60c5\u5831\u3092\u629c\u304d\u51fa\u3057\u3001JSON \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u683c\u7d0d\u3059\u308b\n  * @param {Object} payload  Gmail REST API \u306e\u30e1\u30fc\u30eb\u53d6\u5f97\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u306e payload \u30d5\u30a3\u30fc\u30eb\u30c9\n  * @return {Object} message  \u30e1\u30fc\u30eb\u60c5\u5831\u3092\u683c\u7d0d\u3057\u305f JSON \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\n  *\/\nfunction extractFromPayload( payload ) {\n  const message = {\n    &quot;from&quot;: {\n      &quot;email&quot;: &quot;&quot;,\n      &quot;name&quot;: &quot;&quot;\n    },\n    &quot;replyTo&quot;: {\n      &quot;emails&quot;: [],\n      &quot;names&quot;: []\n    },\n    &quot;recipients&quot;: {\n      &quot;to&quot;: {\n        &quot;emails&quot;: [],\n        &quot;names&quot;: []\n      },\n      &quot;cc&quot;: {\n        &quot;emails&quot;: [],\n        &quot;names&quot;: []\n      },\n      &quot;bcc&quot;: {\n        &quot;emails&quot;: [],\n        &quot;names&quot;: []\n      }\n    },\n    &quot;datetime&quot;: &quot;&quot;,\n    &quot;subject&quot;: &quot;&quot;,\n    &quot;body&quot;: &quot;&quot;,\n    &quot;attachments&quot;: []\n  };\n\n  \/\/ \u30d8\u30c3\u30c0\u306e\u51e6\u7406\n  \/\/ From \u30d8\u30c3\u30c0\u306f Gmail \u306e\u4ed5\u69d8\u3067\u5fc5\u305a 1 \u4ef6, Date \u30d8\u30c3\u30c0\u3082 1 \u4ef6\n  \/\/ To, Cc, Bcc \u306f\u8907\u6570\u4ef6\u306e\u53ef\u80fd\u6027\u304c\u3042\u308b\u306e\u3067\u914d\u5217\u306b\u8ffd\u52a0\u3057\u3066\u51e6\u7406\n  \/\/ Subject \u304c\u8907\u6570\u4ef6\u3042\u308b\u5834\u5408\u306f\u6700\u521d\u306e Subject \u30d8\u30c3\u30c0\u3092\u63a1\u7528\u3059\u308b\n  payload.headers.forEach( header =&gt; {\n    const headerNameLower = header.name.toLowerCase();\n    switch ( headerNameLower ) {\n      case &#39;from&#39;:\n        const fromAddresses = emailService.parseAddressHeader( header.value ); \/\/ java.util.List&lt;EmailServiceWrapper.InternetAddressWrapper&gt;\n        if ( fromAddresses !== null && fromAddresses.length !== 0 ) {\n          message.from.email = fromAddresses[0].getAddress();\n          message.from.name = fromAddresses[0].getPersonal();\n        }\n        break;\n      case &#39;reply-to&#39;:\n        const replyToAddresses = emailService.parseAddressHeader( header.value ); \/\/ java.util.List&lt;EmailServiceWrapper.InternetAddressWrapper&gt;\n        if ( replyToAddresses !== null && replyToAddresses.length !== 0 ) {\n          replyToAddresses.forEach( addr =&gt; {\n            message.replyTo.emails.push( addr.getAddress() );\n            message.replyTo.names.push( addr.getPersonal() );\n          });\n        }\n        break;\n      case &#39;to&#39;:\n      case &#39;cc&#39;:\n      case &#39;bcc&#39;:\n        const addresses  = emailService.parseAddressHeader( header.value ); \/\/ java.util.List&lt;EmailServiceWrapper.InternetAddressWrapper&gt;\n        if ( addresses !== null && addresses.length !== 0 ) {\n          addresses.forEach( addr =&gt; {\n            message.recipients[headerNameLower].emails.push( addr.getAddress() );\n            message.recipients[headerNameLower].names.push( addr.getPersonal() );\n          });\n        }\n        break;\n      case &#39;date&#39;:\n        message.datetime = header.value;\n        break;\n      case &#39;subject&#39;:\n        if ( message.subject === &quot;&quot; ) { \/\/ \u6700\u521d\u306e Subject \u30d8\u30c3\u30c0\u3092\u63a1\u7528\u3059\u308b\n          message.subject = header.value;\n        }\n        break;\n    }\n  });\n\n  \/\/ \u30d1\u30fc\u30c8\uff08\u672c\u6587\u3001\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\uff09\u306e\u51e6\u7406\n  const mimeType = payload.mimeType;\n  if ( mimeType === &quot;text\/plain&quot; || mimeType === &quot;text\/html&quot; ) { \/\/ \u672c\u6587\u306e\u307f\u306e\u30e1\u30fc\u30eb\n    message.body = parseTextPart( payload );\n  } else if ( mimeType.startsWith(&quot;multipart\/&quot;) ) { \/\/ \u30de\u30eb\u30c1\u30d1\u30fc\u30c8\u306e\u30e1\u30fc\u30eb\n    const bodyParts = [];\n    parseMultiPart( payload, bodyParts, message.attachments );\n    if ( bodyParts.length === 0 ) {\n      engine.log(&quot;No body part was found.&quot;);\n      message.body = &quot;&quot;;\n    } else {\n      message.body = bodyParts.map( p =&gt; parseTextPart(p) ).join(&#39;\\n&#39;); \/\/ Gmail \u306e UI \u3067\u306f &lt;wbr&gt; \u3067\u533a\u5207\u3089\u308c\u3066\u3044\u308b\n    }\n  } else {\n    throw new Error(`Unsupported MIME type. ${mimeType}`);\n  }\n\n  return message;\n}\n\n\/**\n  * MIME \u30bf\u30a4\u30d7\u304c text\/plain, text\/html \u306e\u30d1\u30fc\u30c8\u306e\u30c7\u30fc\u30bf\u3092\u30c7\u30b3\u30fc\u30c9\u3057\u3066\u6587\u5b57\u5217\u3068\u3057\u3066\u8fd4\u3059\n  * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\uff08text\/plain \u307e\u305f\u306f text\/html\uff09\n  * @return {String} body  \u30d1\u30fc\u30c8\u306e\u30c7\u30fc\u30bf\uff08\u30e1\u30fc\u30eb\u672c\u6587\u3068\u3057\u3066\u4fdd\u5b58\u3059\u308b\u6587\u5b57\u5217\uff09\n  *\/\nfunction parseTextPart( part ) {\n  const bodyData = part.body.data ?? &#39;&#39;;\n  return base64.decodeFromUrlSafeString( bodyData ); \/\/ UTF-8 \u3068\u3057\u3066\u30c7\u30b3\u30fc\u30c9\n}\n\n\/**\n * MIME \u30bf\u30a4\u30d7\u304c multipart\/* \u306e\u30d1\u30fc\u30c8\u3092\u518d\u5e30\u7684\u306b\u89e3\u6790\u3059\u308b\n * \u672c\u6587\u30d1\u30fc\u30c8\u306f bodyParts \u306b\u3001\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306f attachments \u306b\u683c\u7d0d\u3059\u308b\n * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\uff08multipart\/*\uff09\n * @param {Array&lt;Object&gt;} bodyParts  \u672c\u6587\u30d1\u30fc\u30c8\u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n * @param {Array&lt;Object&gt;} attachments  \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n *\/\nfunction parseMultiPart( part, bodyParts, attachments ) {\n  engine.log(`Multipart found. partId: ${part.partId}, mimeType: ${part.mimeType}`);\n  if (part.parts === undefined || part.parts.length === 0) {\n    engine.log(`No inner-part was found in this multipart. partId: ${part.partId}`);\n    return;\n  }\n\n  if ( part.mimeType === &#39;multipart\/alternative&#39; ) {\n    parseMultiPartAlternative( part, bodyParts, attachments );\n    return;\n  }\n  if ( part.mimeType === &#39;multipart\/related&#39; ) {\n    parseMultiPartRelated( part, bodyParts, attachments );\n    return;\n  }\n  \/\/ multipart\/mixed \u304a\u3088\u3073\u305d\u306e\u4ed6\u306e multipart\/* \u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u51e6\u7406\n  parseMultiPartMixed( part, bodyParts, attachments );\n}\n\n\/**\n * multipart\/alternative \u3092\u89e3\u6790\u3059\u308b\n * \u5404\u30d1\u30fc\u30c8\u306f\u540c\u3058\u5185\u5bb9\u306e\u7570\u306a\u308b\u8868\u73fe\u3067\u3042\u308b\u305f\u3081\u3001\u63a1\u7528\u3057\u305f1\u30b0\u30eb\u30fc\u30d7\u3060\u3051\u3092 bodyParts \u306b push \u3059\u308b\u3002\n * \u512a\u5148\u9806\u4f4d: text\/plain &gt; text\/html\uff08multipart \u5185\u304b\u3089\u53d6\u5f97\u3057\u305f\u672c\u6587\u3082\u542b\u3080\uff09\n * Gmail \u306e UI \u3068\u306f\u7570\u306a\u308a\u3001\u3067\u304d\u308b\u3060\u3051\u7c21\u6613\u306a\u672c\u6587\u3092\u63a1\u7528\u3057\u305f\u3044\u306e\u3067\u3001\u5148\u982d\u304b\u3089\u8d70\u67fb\u3057\u3066\u3044\u304f\u3002\n * \u672c\u6587\u30d1\u30fc\u30c8\u3068\u3057\u3066\u63a1\u7528\u3055\u308c\u3046\u308b\u306e\u306f\u3001\u660e\u793a\u7684\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3067\u306a\u3044\u30d1\u30fc\u30c8\u306e\u307f\u3002\n * \u672c\u6587\u30d1\u30fc\u30c8\u3068\u3057\u3066\u63a1\u7528\u3055\u308c\u306a\u304b\u3063\u305f\u30d1\u30fc\u30c8\u306f\u57fa\u672c\u7684\u306b\u306f\u7121\u8996\u3055\u308c\u308b\u304c\u3001\n * \u4ee5\u4e0b\u306e\u30d1\u30fc\u30c8\u306f\u3001\u4f8b\u5916\u7684\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u4fdd\u5b58\u3055\u308c\u308b\u3002(Gmail \u306e\u4ed5\u69d8\u3068\u63c3\u3048\u3066\u3044\u308b)\n * - multipart\/alternative \u5185\u3067\u3055\u3089\u306b multipart\/* \u304c\u3042\u308b\u5834\u5408\u3001\u305d\u306e multipart \u3067\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u5224\u5b9a\u3055\u308c\u305f\u30d1\u30fc\u30c8\n * - \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u30d1\u30fc\u30c8\n * @param {Object} part\n * @param {Array&lt;Object&gt;} bodyParts\n * @param {Array&lt;Object&gt;} attachments\n *\/\nfunction parseMultiPartAlternative( part, bodyParts, attachments ) {\n  let textParts = []; \/\/ text\/plain \u306e\u30d1\u30fc\u30c8\u7fa4\n  let htmlParts = []; \/\/ text\/html \u306e\u30d1\u30fc\u30c8\u7fa4\n\n  part.parts.forEach( innerPart =&gt; {\n    if ( innerPart.mimeType.startsWith(&#39;multipart\/&#39;) ) {\n      const nestedBodyParts = [];\n      parseMultiPart( innerPart, nestedBodyParts, attachments ); \/\/ \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u304c\u8ffd\u52a0\u3055\u308c\u3046\u308b\n      if ( nestedBodyParts.length === 0 ) {\n        return;\n      }\n      if ( textParts.length === 0 && nestedBodyParts.every( p =&gt; p.mimeType === &#39;text\/plain&#39; )) {\n        nestedBodyParts.forEach( p =&gt; outputLogBodyCandidatePart(p) );\n        textParts = nestedBodyParts;\n      } else if ( htmlParts.length === 0 ) {\n        nestedBodyParts.forEach( p =&gt; outputLogBodyCandidatePart(p) );\n        htmlParts = nestedBodyParts;\n      } else {\n        nestedBodyParts.forEach( p =&gt; outputLogIgnoredPart(p) );\n      }\n      return;\n    }\n    if ( !isObviouslyAttachment(innerPart) && innerPart.mimeType === &#39;text\/html&#39; ) {\n      if ( htmlParts.length === 0 ) {\n        outputLogBodyCandidatePart( innerPart );\n        htmlParts = [innerPart];\n      } else {\n        outputLogIgnoredPart( innerPart );\n      }\n      return;\n    }\n    if ( !isObviouslyAttachment(innerPart) && innerPart.mimeType === &#39;text\/plain&#39; ) {\n      if ( textParts.length === 0 ) {\n        outputLogBodyCandidatePart( innerPart );\n        textParts = [innerPart];\n      } else {\n        outputLogIgnoredPart( innerPart );\n      }\n      return;\n    }\n    \/\/ alternative \u76f4\u4e0b\u306e\u30d1\u30fc\u30c8\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u3042\u308b\u5834\u5408\u306e\u307f\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u6271\u3046\n    if ( !isFileNameBlank( innerPart ) ) {\n      addPartAsAttachment( innerPart, attachments );\n      return;\n    }\n    \/\/ \u305d\u308c\u4ee5\u5916\u306e\u30d1\u30fc\u30c8\u306f\u3001\u30ed\u30b0\u3060\u3051\u6b8b\u3057\u3066\u7121\u8996\n    outputLogIgnoredPart( innerPart );\n  });\n\n  \/\/ \u672c\u6587\u30d1\u30fc\u30c8\u3092\u9078\u629e\n  \/\/ \u512a\u5148\u9806\u4f4d: text\/plain &gt; text\/html\n  \/\/ \u63a1\u7528\u30b0\u30eb\u30fc\u30d7\u306e\u5168\u30d1\u30fc\u30c8\u3092 push \u3057\u3001\u843d\u9078\u30b0\u30eb\u30fc\u30d7\u306f\u30ed\u30b0\u306b\u6b8b\u3059\n  const selected  = textParts.length &gt; 0 ? textParts : htmlParts;\n  const discarded = textParts.length &gt; 0 ? htmlParts : [];\n  if ( selected.length === 0 ) {\n    engine.log(`No body part was found in multipart\/alternative. partId: ${part.partId}`);\n    return;\n  }\n  bodyParts.push( ...selected );\n  discarded.forEach( p =&gt; outputLogIgnoredPart(p) );\n}\n\n\/**\n * multipart\/related \u3092\u89e3\u6790\u3059\u308b\n * \u672c\u6587\u30d1\u30fc\u30c8\u3092 1 \u4ef6\u3060\u3051\u9078\u629e\u3057\u3001\u305d\u308c\u4ee5\u5916\u306e\u76f4\u4e0b\u306e\u30d1\u30fc\u30c8\u306f\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u6271\u3046\uff08\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u306a\u3051\u308c\u3070 noname\uff09\n * \u672c\u6587\u30d1\u30fc\u30c8\u5019\u88dc\u306f\u4e0a\u304b\u3089\u9806\u306b\u63a2\u3059:\n *   - \u660e\u793a\u7684\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3067\u306a\u3044 text\/plain \u307e\u305f\u306f text\/html \u2192 \u305d\u306e\u30d1\u30fc\u30c8\u304c\u672c\u6587\n *   - \u672c\u6587\u672a\u78ba\u5b9a\u306e\u6bb5\u968e\u3067 multipart \u304c\u73fe\u308c\u305f\u5834\u5408 \u2192 \u305d\u306e multipart \u81ea\u8eab\u306e\u672c\u6587\u9078\u629e\u30ed\u30b8\u30c3\u30af\u3067\u89e3\u6790\u3057\u672c\u6587\u3068\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\n *   - \u672c\u6587\u78ba\u5b9a\u5f8c\u306e multipart \u2192 \u4e2d\u306e\u5168\u30d1\u30fc\u30c8\u3092\u518d\u5e30\u7684\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u51e6\u7406\n * @param {Object} part\n * @param {Array&lt;Object&gt;} bodyParts\n * @param {Array&lt;Object&gt;} attachments\n *\/\nfunction parseMultiPartRelated( part, bodyParts, attachments ) {\n  let bodyFound = false;\n\n  part.parts.forEach( innerPart =&gt; {\n    if ( bodyFound ) { \/\/ \u3059\u3067\u306b\u672c\u6587\u30d1\u30fc\u30c8\u304c\u898b\u3064\u304b\u3063\u3066\u3044\u308b\u5834\u5408\n      if ( innerPart.mimeType.startsWith(&#39;multipart\/&#39;) ) {\n        addAllPartsAsAttachments( innerPart, attachments );\n      } else {\n        addPartAsAttachment( innerPart, attachments );\n      }\n      return;\n    }\n\n    \/\/ \u307e\u3060\u672c\u6587\u30d1\u30fc\u30c8\u304c\u898b\u3064\u304b\u3063\u3066\u3044\u306a\u3044\u5834\u5408\n    if ( innerPart.mimeType.startsWith(&#39;multipart\/&#39;) ) {\n      const tempBodyParts = [];\n      parseMultiPart( innerPart, tempBodyParts, attachments );\n      if ( tempBodyParts.length &gt; 0 ) {\n        bodyParts.push( ...tempBodyParts );\n        bodyFound = true;\n      }\n      return;\n    }\n    if ( !isObviouslyAttachment(innerPart) && ( innerPart.mimeType === &#39;text\/plain&#39; || innerPart.mimeType === &#39;text\/html&#39; ) ) {\n      bodyParts.push( innerPart );\n      bodyFound = true;\n      return;\n    }\n    addPartAsAttachment( innerPart, attachments );\n  });\n\n  if ( !bodyFound ) {\n    engine.log(`No body part was found in multipart\/related. partId: ${part.partId}`);\n  }\n}\n\n\/** \u4fdd\u5b58\u6642\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u6700\u5927\u9577 *\/\nconst FILE_NAME_MAX_LENGTH = 200;\n\n\/**\n * \u30d1\u30fc\u30c8\u3092\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066 attachments \u306b\u8ffd\u52a0\u3059\u308b\n * \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070 noname \u3092\u4f7f\u3046\n * \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u9577\u3059\u304e\u308b\u5834\u5408\u306f\u7701\u7565\u3059\u308b\n * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\n * @param {Array&lt;Object&gt;} attachments  \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n *\/\nfunction addPartAsAttachment( part, attachments ) {\n  let filename = isFileNameBlank( part ) ? &#39;noname&#39; : part.filename;\n  if ( filename.length &gt; FILE_NAME_MAX_LENGTH ) {\n    filename = filename.substring(0, FILE_NAME_MAX_LENGTH - 3) + &quot;...&quot;;\n  }\n  attachments.push({\n    filename:    filename,\n    contentType: getContentType( part ),\n    body:        part.body\n  });\n}\n\n\/**\n * multipart \u306e\u4e2d\u306e\u3059\u3079\u3066\u306e\u30d1\u30fc\u30c8\u3092\u518d\u5e30\u7684\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u51e6\u7406\u3059\u308b\uff08\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u306a\u3051\u308c\u3070 noname\uff09\n * multipart\/related \u306e\u672c\u6587\u78ba\u5b9a\u5f8c\u306b\u73fe\u308c\u305f multipart \u306e\u51e6\u7406\u306b\u4f7f\u3046\n * @param {Object} part  multipart\/* \u306e\u30d1\u30fc\u30c8\n * @param {Array&lt;Object&gt;} attachments  \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n *\/\nfunction addAllPartsAsAttachments( part, attachments ) {\n  if ( part.parts === undefined || part.parts.length === 0 ) {\n    return;\n  }\n  part.parts.forEach( innerPart =&gt; {\n    if ( innerPart.mimeType.startsWith(&#39;multipart\/&#39;) ) {\n      addAllPartsAsAttachments( innerPart, attachments );\n    } else {\n      addPartAsAttachment( innerPart, attachments );\n    }\n  });\n}\n\n\/**\n * multipart\/mixed \u304a\u3088\u3073\u305d\u306e\u4ed6\u306e multipart\/* \u3092\u89e3\u6790\u3059\u308b\n * \u672c\u6587\u30d1\u30fc\u30c8\uff08text\/plain, text\/html\uff09\u306f\u5168\u3066\u9806\u756a\u306b bodyParts \u306b push \u3059\u308b\n * \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306f attachments \u306b push \u3059\u308b\n * @param {Object} part\n * @param {Array&lt;Object&gt;} bodyParts\n * @param {Array&lt;Object&gt;} attachments\n *\/\nfunction parseMultiPartMixed( part, bodyParts, attachments ) {\n  part.parts.forEach( innerPart =&gt; {\n    if ( innerPart.mimeType.startsWith(&#39;multipart\/&#39;) ) {\n      parseMultiPart( innerPart, bodyParts, attachments );\n      return;\n    }\n    if ( !isObviouslyAttachment(innerPart) && ( innerPart.mimeType === &#39;text\/plain&#39; || innerPart.mimeType === &#39;text\/html&#39; ) ) {\n      bodyParts.push( innerPart );\n      return;\n    }\n    \/\/ \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u51e6\u7406\n    addPartAsAttachment( innerPart, attachments );\n  });\n}\n\n\/**\n  * multipart\/alternative \u30d1\u30fc\u30b9\u6642\u306e\u672c\u6587\u30d1\u30fc\u30c8\u5019\u88dc\u306e\u60c5\u5831\u3092\u30d7\u30ed\u30bb\u30b9\u30ed\u30b0\u306b\u51fa\u529b\u3059\u308b\n  * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\n  *\/\nfunction outputLogBodyCandidatePart(part) {\n  const disposition = getDisposition(part);\n  engine.log(`Part ${part.partId} may be a body part. Content-Disposition: ${disposition}, mimeType: ${part.mimeType}`);\n}\n\n\/**\n  * \u4fdd\u5b58\u3057\u306a\u3044\u30d1\u30fc\u30c8\u306e\u60c5\u5831\u3092\u30d7\u30ed\u30bb\u30b9\u30ed\u30b0\u306b\u51fa\u529b\u3059\u308b\n  * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\n  *\/\nfunction outputLogIgnoredPart(part) {\n  const partInfo = JSON.parse(JSON.stringify(part)); \/\/ \u30c7\u30a3\u30fc\u30d7\u30b3\u30d4\u30fc\n  const originalData = part.body.data ?? &#39;&#39;;\n  let extractedData = originalData.substring(0, 20); \/\/ \u30ed\u30b0\u51fa\u529b\u7528\u306b\u5148\u982d 20 \u6587\u5b57\u3092\u629c\u7c8b\n  if (originalData.length &gt; 20) {\n    extractedData += &#39;...&#39;;\n  }\n  partInfo.body.data = extractedData;\n  engine.log(`Part ${part.partId} was ignored.`);\n  engine.log(JSON.stringify(partInfo));\n}\n\n\/**\n  * \u30d1\u30fc\u30c8\u304c\u660e\u3089\u304b\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u304b\u3069\u3046\u304b\u3092\u5224\u5b9a\u3059\u308b\n  * \u4ee5\u4e0b\u306e\u3044\u305a\u308c\u304b\u306b\u8a72\u5f53\u3059\u308c\u3070 true \u3092\u8fd4\u3059\n  * - Content-Disposition \u30d8\u30c3\u30c0\u304c &quot;attachment&quot;\n  * - body.attachmentId \u304c\u3042\u308b\n  * - \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\n  * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\n  * @return {Boolean}  \u30d1\u30fc\u30c8\u304c\u660e\u3089\u304b\u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u304b\u3069\u3046\u304b\n  *\/\nfunction isObviouslyAttachment(part) {\n  const disposition = getDisposition(part);\n  if (disposition === &quot;attachment&quot; || part.body.attachmentId !== undefined || !isFileNameBlank(part)) {\n    return true;\n  }\n  return false;\n}\n\n\/**\n  * \u30d1\u30fc\u30c8\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u7a7a\u304b\u3069\u3046\u304b\u3092\u5224\u5b9a\u3059\u308b\n  * @param {Object} part  MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\n  * @return {Boolean}  \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u7a7a\u304b\u3069\u3046\u304b\n  *\/\nfunction isFileNameBlank(part) {\n  return part.filename === undefined || part.filename === null || part.filename === &quot;&quot;;\n}\n\n\/**\n  * MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\u306e &quot;Content-Disposition&quot; \u30d8\u30c3\u30c0\u306e\u5024\u3092\u8fd4\u3059\n  * @param {Object} part  \u30d1\u30fc\u30c8\n  * @return {String} disposition  &quot;Content-Disposition&quot; \u30d8\u30c3\u30c0\u306e\u5024\uff08\u30d8\u30c3\u30c0\u304c\u7121\u3044\u5834\u5408\u306f null\uff09\n  *\/\nfunction getDisposition( part ) {\n  if ( part.headers === undefined ) { \/\/ \u30d1\u30fc\u30c8\u306b\u30d8\u30c3\u30c0\u304c\u7121\u3044\u5834\u5408\u306f null \u3092\u8fd4\u3059\n    return null;\n  }\n  const dispositionHeader = part.headers.find( header =&gt; header.name.toLowerCase() === &quot;content-disposition&quot; );\n  if ( dispositionHeader === undefined ) { \/\/ \u7121\u3044\u5834\u5408\u306f null \u3092\u8fd4\u3059\n    return null;\n  }\n  return dispositionHeader.value.split(&quot;;&quot;)[0].toLowerCase();\n}\n\n\/** \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e Content-Type \u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024 *\/\nconst DEFAULT_FILE_CONTENT_TYPE = &quot;application\/octet-stream&quot;;\n\n\/**\n  * MIME \u30e1\u30fc\u30eb\u306e\u30d1\u30fc\u30c8\u306e &quot;Content-Type&quot; \u30d8\u30c3\u30c0\u306e\u5024\u3092\u8fd4\u3059\n  * \u30d8\u30c3\u30c0\u304c\u7121\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3068\u3057\u3066 &quot;application\/octet-stream&quot; \u3092\u8fd4\u3059\n  * @param {Object} part  \u30d1\u30fc\u30c8\n  * @return {String} contentType  &quot;Content-Type&quot; \u30d8\u30c3\u30c0\u306e\u5024\n  *\/\nfunction getContentType( part ) {\n  if ( part.headers === undefined ) { \/\/ \u30d1\u30fc\u30c8\u306b\u30d8\u30c3\u30c0\u304c\u7121\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u8fd4\u3059\n    return DEFAULT_FILE_CONTENT_TYPE;\n  }\n  const contentTypeHeader = part.headers.find( header =&gt; header.name.toLowerCase() === &quot;content-type&quot; );\n  if ( contentTypeHeader === undefined ) { \/\/ \u7121\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u8fd4\u3059\n    return DEFAULT_FILE_CONTENT_TYPE;\n  }\n  return contentTypeHeader.value;\n}\n\n\/**\n  * \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\u306b\u672c\u4f53\u30c7\u30fc\u30bf\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u8abf\u3079\u3001\n  * \u306a\u3044\u5834\u5408\u306f Gmail REST API \u306b\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u53d6\u5f97\u306e GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\n  * \u672c\u4f53\u30c7\u30fc\u30bf\u3092\u8ffd\u52a0\u3059\u308b\n  * @param {String} apiUri  API \u306e URI\uff08\/messages\/{messageId} \u307e\u3067\uff09\n  * @param {AuthSettingWrapper} auth  OAuth2 \u8a8d\u8a3c\u8a2d\u5b9a\n  * @param {Array&lt;Object&gt;} attachments  \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\uff08\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\uff09\u304c\u683c\u7d0d\u3055\u308c\u305f\u914d\u5217\n  *  \u914d\u5217\u5185\u306e\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\u306e\u5f62\u5f0f\u306f\uff1a\n  *   {\n  *     &quot;filename&quot;: String,\n  *     &quot;contentType&quot;: String,\n  *     &quot;body&quot;: {\n  *       &quot;data&quot;: String(Base64) or &quot;attachmentId&quot;: String\n  *     }\n  *   }\n  *\/\nfunction getAttachments( apiUri, auth, attachments ) {\n  const httpLimit = httpClient.getRequestingLimit();\n  let httpCount = 1; \/\/ HTTP \u30ea\u30af\u30a8\u30b9\u30c8\u306e\u4e0a\u9650\u8d85\u3048\u30c1\u30a7\u30c3\u30af\u7528\u306e\u30ab\u30a6\u30f3\u30bf\uff08\u30e1\u30fc\u30eb\u53d6\u5f97\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u5f8c\u306a\u306e\u3067\u521d\u671f\u5024\u306f1\uff09\n  attachments.forEach( attachment =&gt; {\n    if ( attachment.body.data !== undefined ) { \/\/ data \u304c\u3042\u308c\u3070\u4f55\u3082\u3057\u306a\u3044\n      return;\n    }\n    if ( attachment.body.attachmentId === undefined ) {\n      attachment.body[&quot;data&quot;] = &quot;&quot;; \/\/ data \u3082 attachmentId \u3082\u7121\u3044\u5834\u5408\u306f\u7a7a\u6587\u5b57\u5217\u3092\u30bb\u30c3\u30c8\n      return;\n    }\n    httpCount++;\n    if ( httpCount &gt; httpLimit ) {\n      throw new Error(&quot;Number of HTTP requests is over the limit.&quot;);\n    }\n    const response = httpClient.begin()\n      .authSetting( auth )\n      .get( `${apiUri}\/attachments\/${attachment.body.attachmentId}` );\n    const responseJson = response.getResponseAsString();\n    const status = response.getStatusCode();\n    if (status &gt;= 300) { \/\/ when error thrown\n      engine.log(`API URI: ${apiUri}\/attachments\/${attachment.body.attachmentId}`);\n      const accessLog = `---GET request--- ${status}\\n${responseJson}\\n`;\n      engine.log( accessLog );\n      throw new Error(`Failed to get attachment. status: ${status}`);\n    }\n    \/\/ when successful, parse the message content\n    const json = JSON.parse(responseJson);\n    attachment.body[&quot;data&quot;] = json.data;\n  });\n}\n\n\/**\n  * \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092 Qfile \u306b\u5909\u63db\u3057\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u914d\u5217\u306b\u8ffd\u52a0\u3059\u308b\n  * Content-Type \u304c\u4e0d\u6b63\u306a\u5834\u5408\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e Content-Type \u3067\u4fdd\u5b58\u3059\u308b\n  * @param {Array&lt;Object&gt;} attachments  \u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\uff08\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\uff09\u304c\u683c\u7d0d\u3055\u308c\u305f\u914d\u5217\n  * @param {ListArray&lt;Qfile&gt;} files  \u30d5\u30a1\u30a4\u30eb\u306e\u914d\u5217\n  *\/\nfunction convertAndAddAttachments( attachments, files ) {\n  attachments.forEach( attachment =&gt; {\n    let qfile;\n    const bytes = base64.decodeFromUrlSafeStringToByteArray( attachment.body.data ); \/\/ ByteArrayWrapper\n    try {\n      qfile = new com.questetra.bpms.core.event.scripttask.NewQfile(\n        attachment.filename,\n        attachment.contentType,\n        bytes\n      );\n    } catch (e) {\n      engine.log(`Failed to convert attachment ${attachment.filename} to qfile. ${e.toString()}`);\n      engine.log(`Trying to save it as ${DEFAULT_FILE_CONTENT_TYPE}.`);\n      \/\/ Content-Type \u304c\u4e0d\u6b63\u306a\u5834\u5408\u306b\u4f8b\u5916\u306b\u306a\u308b\u306e\u3067\u3001DEFAULT_FILE_CONTENT_TYPE \u3067\u4f5c\u6210\u3057\u76f4\u3059\n      qfile = new com.questetra.bpms.core.event.scripttask.NewQfile(\n        attachment.filename,\n        DEFAULT_FILE_CONTENT_TYPE,\n        bytes\n      );\n    }\n    files.add( qfile );\n  });\n}\n\n\/**\n  * \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u306e ProcessDataDefinitionView \u304c null \u3067\u306a\u3044\u5834\u5408\u306e\u307f\u5024\u3092\u4ee3\u5165\u3059\u308b\n  * @param {ProcessDataDefinitionView} def  \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u306e ProcessDataDefinitionView\n  * @param {Object} value  \u30c7\u30fc\u30bf\u9805\u76ee\u306b\u4ee3\u5165\u3059\u308b\u5024\n  *\/\nfunction setDataIfNotNull( def, value ) {\n  if ( def === null ) return; \/\/ \u30c7\u30fc\u30bf\u9805\u76ee\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u4f55\u3082\u3057\u306a\u3044\n  engine.setData( def, value );\n}\n\n  \n<\/code><\/pre><\/div>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u5de5\u7a0b\u306f\u3001Gmail \u306e\u30e1\u30fc\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":17,"featured_media":104483,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[550],"tags":[3163],"class_list":["post-104317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bpmn-icons","tag-google-workspace-ja"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=1200%2C675&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-get.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"Shiho Tatsumi","author_link":"https:\/\/support.questetra.com\/ja\/author\/tatsumi48c607ec82\/"},"uagb_comment_info":1,"uagb_excerpt":"\u3053\u306e\u5de5\u7a0b\u306f\u3001Gmail \u306e\u30e1\u30fc\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-r8x","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":111598,"url":"https:\/\/support.questetra.com\/ja\/developer-blog\/gmail-start\/","url_meta":{"origin":104317,"position":0},"title":"Gmail \u306e\u53d7\u4fe1\u306b\u3088\u308a\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3059\u308b","author":"Hirotaka NISHI","date":"2024-10-17","format":false,"excerpt":"Google Workspace \u306e Gmail \u306e\u53d7\u4fe1\u3092\u76e3\u8996\u3057\u3001\u6307\u5b9a\u3057\u305f\u6761\u4ef6\u306e\u30e1\u30fc\u30eb\u304c\u53d7\u4fe1\u3055\u308c\u308c\u3070\u2026","rel":"","context":"Questetra Developers Blog","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/ja\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/08\/eye-catch-gmail-start.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/08\/eye-catch-gmail-start.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/08\/eye-catch-gmail-start.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/08\/eye-catch-gmail-start.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/08\/eye-catch-gmail-start.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":104129,"url":"https:\/\/support.questetra.com\/ja\/bpmn-icons\/service-task-gmail-message-label-remove\/","url_meta":{"origin":104317,"position":1},"title":"Gmail: \u30e1\u30fc\u30eb\u306e\u30e9\u30d9\u30eb\u3092\u89e3\u9664","author":"Shiho Tatsumi","date":"2024-05-23","format":false,"excerpt":"Gmail \u306e\u30e1\u30fc\u30eb\u304b\u3089\u30e9\u30d9\u30eb\u3092\u5916\u3057\u307e\u3059\u3002\u4e00\u5ea6\u306b\u8907\u6570\u306e\u30e9\u30d9\u30eb\u306e\u89e3\u9664\u304c\u53ef\u80fd\u3067\u3059\u3002\u8907\u6570\u89e3\u9664\u3059\u308b\u5834\u5408\u3001\u30c7\u30fc\u2026","rel":"","context":"BPMN\u30a2\u30a4\u30b3\u30f3","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-label-remove.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-label-remove.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-label-remove.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-label-remove.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/service-task-gmail-message-label-remove.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":100094,"url":"https:\/\/support.questetra.com\/ja\/bpmn-icons\/start-event-gmail-message-received\/","url_meta":{"origin":104317,"position":2},"title":"\u958b\u59cb: Gmail: \u30e1\u30fc\u30eb\u53d7\u4fe1\u6642","author":"Shiho Tatsumi","date":"2026-01-05","format":false,"excerpt":"\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306f\u3001Gmail \u304c\u65b0\u3057\u3044\u30e1\u30fc\u30eb\u3092\u53d7\u4fe1\u3059\u308b\u3068\u3001\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3057\u307e\u3059\u3002","rel":"","context":"BPMN\u30a2\u30a4\u30b3\u30f3","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/start-event-gmail-message-received.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/start-event-gmail-message-received.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/start-event-gmail-message-received.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/start-event-gmail-message-received.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/03\/start-event-gmail-message-received.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":76118,"url":"https:\/\/support.questetra.com\/ja\/bpmn-icons\/message-start-event-email\/","url_meta":{"origin":104317,"position":3},"title":"\u30e1\u30c3\u30bb\u30fc\u30b8\u958b\u59cb\u30a4\u30d9\u30f3\u30c8\uff08\u30e1\u30fc\u30eb\uff09","author":"Hirotaka NISHI","date":"2019-04-05","format":false,"excerpt":"\u30e1\u30fc\u30eb\u3092\u5f85\u3061\u53d7\u3051\u308b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u767a\u884c\u3057\u307e\u3059\u3002\u30e1\u30fc\u30eb\u3092\u53d7\u4fe1\u3059\u308b\u3068\u3001\u65b0\u898f\u30d7\u30ed\u30bb\u30b9\u304c\u81ea\u52d5\u958b\u59cb\u3055\u308c\u307e\u3059\u3002\u53d7\u2026","rel":"","context":"BPMN\u30a2\u30a4\u30b3\u30f3","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/bpmn-icon-message-start-event-email-1200x675.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/bpmn-icon-message-start-event-email-1200x675.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/bpmn-icon-message-start-event-email-1200x675.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/bpmn-icon-message-start-event-email-1200x675.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/bpmn-icon-message-start-event-email-1200x675.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":78344,"url":"https:\/\/support.questetra.com\/ja\/developer-blog\/throwing-message-intermediate-event-email-troubleshooting\/","url_meta":{"origin":104317,"position":4},"title":"\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u306e\u9014\u4e2d\u3067\u30e1\u30fc\u30eb\u3092\u81ea\u52d5\u9001\u4fe1\u3057\u3088\u3046\uff08\u4e0d\u9054\u5bfe\u5fdc\u7de8\uff09","author":"Hirotaka NISHI","date":"2021-09-07","format":false,"excerpt":"\u300c\u30e1\u30c3\u30bb\u30fc\u30b8\u9001\u4fe1\u4e2d\u9593\u30a4\u30d9\u30f3\u30c8\uff08\u30e1\u30fc\u30eb\uff09\u300d\u306b\u3088\u308b\u30e1\u30fc\u30eb\u306e\u81ea\u52d5\u9001\u4fe1\u3067\u30c8\u30e9\u30d6\u30eb\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306e\u3001\u539f\u56e0\u8abf\u67fb\u30fb\u2026","rel":"","context":"Questetra Developers Blog","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/featured-image-message-intermediate-event-email.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/featured-image-message-intermediate-event-email.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/featured-image-message-intermediate-event-email.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/featured-image-message-intermediate-event-email.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/featured-image-message-intermediate-event-email.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":153953,"url":"https:\/\/support.questetra.com\/ja\/bpmn-icons\/service-task-outlook-message-category-remove\/","url_meta":{"origin":104317,"position":5},"title":"Microsoft 365 Outlook for Business: \u30e1\u30fc\u30eb\u306e\u30ab\u30c6\u30b4\u30ea\u89e3\u9664","author":"Shiho Tatsumi","date":"2023-12-12","format":false,"excerpt":"\u3053\u306e\u5de5\u7a0b\u306f\u3001Outlook \u306e\u30e1\u30fc\u30eb\u304b\u3089\u30ab\u30c6\u30b4\u30ea\u3092\u5916\u3057\u307e\u3059\u3002\u4e00\u5ea6\u306b\u8907\u6570\u306e\u30ab\u30c6\u30b4\u30ea\u3092\u89e3\u9664\u53ef\u80fd\u3067\u3059\u3002","rel":"","context":"BPMN\u30a2\u30a4\u30b3\u30f3","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/bpmn-icon-service-task-outlook.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/bpmn-icon-service-task-outlook.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/bpmn-icon-service-task-outlook.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/bpmn-icon-service-task-outlook.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/bpmn-icon-service-task-outlook.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/posts\/104317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/comments?post=104317"}],"version-history":[{"count":25,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/posts\/104317\/revisions"}],"predecessor-version":[{"id":183685,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/posts\/104317\/revisions\/183685"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/media\/104483"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/media?parent=104317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/categories?post=104317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/ja\/wp-json\/wp\/v2\/tags?post=104317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}