{"componentChunkName":"component---src-templates-blog-template-js","path":"/docs/gmail-oauth","result":{"data":{"markdownRemark":{"html":"<p>The Gmail API is a RESTful API that can be used to access Gmail mailboxes and send mail. We will use it to send out corresponding emails to our customers.</p>\n<h2>Developers Console</h2>\n<ol>\n<li>Go to <a href=\"https://console.developers.google.com\">https://console.developers.google.com</a></li>\n<li>If you don't have a project, you will be prompted to create one.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/14c00863db56466c2b9dcd9c0545934f/a2b91/1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABsUlEQVQoz4VS227iMBTM//8Ezc1xEi5fwAu8LQGUVggEAiEKlXhbaUVCyGXW49QsbCvVyug4PpnxnHNiOY4L++UFjuPAtm0I4SOKuxAyhggiSBkiiiKE4b9I9Ho9dLtdHeM4RigDeCKGZbsBHE8qYqwJLWIEQagEpYqBykkN7o2g53n3M5OnGcv3hdoE7S2fLobDISaTCdL0Fcvl8o7VaoXXtzckKjcej9HpdDTPuCXfEkLoUvnS7/fVTQGSWYrsBmQFUDVA2bSxBlCUKl6uOBw+4Pu+5lDQwKIQbdMZk2Eo8Wsyx+8/ObIsQ1XVChWu1wK5wi3PlGyD9+MJrus+VUaXFg8MKMhb0zRF0zQoikKTuadoWZaoswu4TqcTWN1gMHh2aAZBQTaWfZnN55pEIfXoqFelBK/5XdCU/Dht7dAIsnT2czqdtnzlqq7rFkq0zi+oboXOHY9HPWmKGT7jk2A7FInFYoGf1vl81gZYMnkGTyXzgPvRaIT9fo/tdovdbqex/YybzQbr9RpJkuhhfOnho0MetJMOdX++AwdBsJL/f5n7UMyUjSDBm3/C4/cGfwHX+wwCZXYqXgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"1\"\n        title=\"1\"\n        src=\"/static/14c00863db56466c2b9dcd9c0545934f/d9199/1.png\"\n        srcset=\"/static/14c00863db56466c2b9dcd9c0545934f/8ff5a/1.png 240w,\n/static/14c00863db56466c2b9dcd9c0545934f/e85cb/1.png 480w,\n/static/14c00863db56466c2b9dcd9c0545934f/d9199/1.png 960w,\n/static/14c00863db56466c2b9dcd9c0545934f/07a9c/1.png 1440w,\n/static/14c00863db56466c2b9dcd9c0545934f/29114/1.png 1920w,\n/static/14c00863db56466c2b9dcd9c0545934f/a2b91/1.png 3360w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"3\">\n<li>Click on <code>Create Project</code>.</li>\n<li>Enter a <code>Project Name</code> and click <code>Create</code>.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f82a8f789487b32a524c220dd4a06764/02b44/2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAyElEQVQoz+WRzQ6DIBCEef+n673pxcS2KSLgDwoFp4vGovWiTW/dZAIhm29nB1YUAqZtEGsYhrecczDGoOu6jbz3K1nr0JkGsrJgTa2RX294cAGlJKSU0FpT43M1YKkQwkrzO1kCE7LGJStw5xpS1ShlBVFq9DR1dr23YiuLzkSpYHqHuu3pDCRPQL+JYY9YlnNwgk55PMcVrAt0H5LDAy7Z6dygpDDj/mnFSRNnP2wELvef80ohH8twBIaQfugzj6+A+HH9IfAFfvG10djXEQMAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2\"\n        title=\"2\"\n        src=\"/static/f82a8f789487b32a524c220dd4a06764/d9199/2.png\"\n        srcset=\"/static/f82a8f789487b32a524c220dd4a06764/8ff5a/2.png 240w,\n/static/f82a8f789487b32a524c220dd4a06764/e85cb/2.png 480w,\n/static/f82a8f789487b32a524c220dd4a06764/d9199/2.png 960w,\n/static/f82a8f789487b32a524c220dd4a06764/07a9c/2.png 1440w,\n/static/f82a8f789487b32a524c220dd4a06764/29114/2.png 1920w,\n/static/f82a8f789487b32a524c220dd4a06764/02b44/2.png 3358w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"5\">\n<li>Select <code>Enable API's and Services</code>.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0b1a38e3665ebcc90bc84f9640932a6c/8c565/3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABC0lEQVQoz61TCW7EMAj0/5+6TaL6wkcOyrBL5ERbqWqLNHKMzDCDHTdPC08fD14WWaeJY4ycqfK0REHgnDPXWrmUcsG+7ye2dWWfE8+xsXss8vFJnEvn1hr33rnLAfJBiBpvr6LjOE5gj0YpJSZZSRpUQYqBnQ9RVCUhEhJ6dtZo9blIEyhCgAxhhPM8qwBVuW3qxMUQ1Co2o4qj0HnwkhcgN1oe4UBERKrkUigzGQn3wboRQh3qbVTIO53ZC3ZIC8Wy2R8JDZa/w4HdOmDI3nvdmzrrvMpFfWdzVK4KQYACfTK4NRkBgMtAA6whBLWHc6OrO05Cs/rXuBDas3g3m5/i/wnPv+NG+Nv4AhGMsQYa5SB9AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"3\"\n        title=\"3\"\n        src=\"/static/0b1a38e3665ebcc90bc84f9640932a6c/d9199/3.png\"\n        srcset=\"/static/0b1a38e3665ebcc90bc84f9640932a6c/8ff5a/3.png 240w,\n/static/0b1a38e3665ebcc90bc84f9640932a6c/e85cb/3.png 480w,\n/static/0b1a38e3665ebcc90bc84f9640932a6c/d9199/3.png 960w,\n/static/0b1a38e3665ebcc90bc84f9640932a6c/07a9c/3.png 1440w,\n/static/0b1a38e3665ebcc90bc84f9640932a6c/29114/3.png 1920w,\n/static/0b1a38e3665ebcc90bc84f9640932a6c/8c565/3.png 3346w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"6\">\n<li>Click on <code>Enable</code> Gmail API.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/c551ae6a0c6fa1d45859c77bbb7e45bf/8c565/5.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABRUlEQVQoz5VT227DIAzl/z9pv7DXqdpeNjXrJb2EBAKBBJIz21WmbuqaDukIB+zjg+2o06nC6VCiqjSstej7HjFGQdd1cuacQ9u2PzD7RPIP5Kdtg7L2UHzp6cLToTGNBHvvZf9t3wP7dd5BBSb8XMNqjZfVG3a7PTTZnIgV/gcsSnXEHvQZdW3x9HzGe3FEU1eXjNfO9P0IVOwHpHFCSgnGOgy0pxsYxxE550Wo1nVojJOA4+EAa4w8l5thyGawzaSPLGWsR+u8EG42GxRFge12i7IsqQy1gGvKxLymaboLxWPCb895RKUNBdd/quGARYWzwQqN7WS2blAx26I6UXidXdNw80zNQx1CuCAmatb0WA2HgbqcBiLpcTat1IzJ5j+GCSOVo08Z7LsE9T1DrOh1hSQJkpCynSlrXH9g0JXYYWEmvwCaqKZ1zV6QAgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"5\"\n        title=\"5\"\n        src=\"/static/c551ae6a0c6fa1d45859c77bbb7e45bf/d9199/5.png\"\n        srcset=\"/static/c551ae6a0c6fa1d45859c77bbb7e45bf/8ff5a/5.png 240w,\n/static/c551ae6a0c6fa1d45859c77bbb7e45bf/e85cb/5.png 480w,\n/static/c551ae6a0c6fa1d45859c77bbb7e45bf/d9199/5.png 960w,\n/static/c551ae6a0c6fa1d45859c77bbb7e45bf/07a9c/5.png 1440w,\n/static/c551ae6a0c6fa1d45859c77bbb7e45bf/29114/5.png 1920w,\n/static/c551ae6a0c6fa1d45859c77bbb7e45bf/8c565/5.png 3346w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"7\">\n<li>Click on <code>Create Credentials</code>.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5b5001d92e866dec8ea15ccc38455ec9/109e2/7.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABMUlEQVQoz62S2XKDMAxF+f+vbNOEtmbzjhfwrWSgU5K3NJ65g5CtYy1uBtGh7ztIKTEMA2JKMDZAmRnWWjhnMc/zg5Zl+VWKCcpb9CagkdNIgaZudF2PbyHQXi5oP67wc8RacFqllJPWda3ffRfNMBloyijEDDkNuN5uaN/fCHjBpxjxJSZMlL2SCk57xBhPSiS+WJoI4yIabTeDgcYYSKWgRyrdOYQQ4L0j+VpmmEP1VTtsdqgt4IQS/RMwU89SilhyhiJYBfYC3uh6kGEcyC1hmy/l3nJ2/L/12VWgIbs5Us8MpNJ6GowjaOZyeEAEYHEQQ7ln7NdaVz9nyD7tEqzPaHgz7sGHGL7QoSP48K27r072zl/KphPwP6vsOgHvn8QzegAeb+3Z9Xrg34G8AvgDvsWtETPOROoAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"7\"\n        title=\"7\"\n        src=\"/static/5b5001d92e866dec8ea15ccc38455ec9/d9199/7.png\"\n        srcset=\"/static/5b5001d92e866dec8ea15ccc38455ec9/8ff5a/7.png 240w,\n/static/5b5001d92e866dec8ea15ccc38455ec9/e85cb/7.png 480w,\n/static/5b5001d92e866dec8ea15ccc38455ec9/d9199/7.png 960w,\n/static/5b5001d92e866dec8ea15ccc38455ec9/07a9c/7.png 1440w,\n/static/5b5001d92e866dec8ea15ccc38455ec9/29114/7.png 1920w,\n/static/5b5001d92e866dec8ea15ccc38455ec9/109e2/7.png 3352w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"8\">\n<li>Give the OAuth client a name and ensure you add <code>https://developers.google.com/oauthplayground</code> as a redirect URI in order to generate the refresh and access tokens later.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/28f7fef2ba91070d9e91b74c7194faf7/e7dd1/8.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 57.91666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA4ElEQVQoz52S646DIBCFef+HbDax2x+KG1CGm+hZZhKbNq1t6SQHgeA3hxnUqEf0fQ9rLUopWNf1qhDCg7z3yDnL2V28Z4PHeUhQ02Qxz7NsOufgKNSvR4wR27Yd6jYxr8HCBnX6OSOmIllZKfN8kcwtIbg6KGPp+NALh0dSehikfnZyIPL16hHkM5al3EE/DdV1HbTWUj8iErkKTil9B/y9XGCMuQK9J2kQN2WvThNwHLU4ZChfnUHSnOqQO7i7/Bj4ZxxyirVmy9OGNAMpPIJerd8C3z2PZoe3P7W6eRb/ngKz23STkeEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"8\"\n        title=\"8\"\n        src=\"/static/28f7fef2ba91070d9e91b74c7194faf7/d9199/8.png\"\n        srcset=\"/static/28f7fef2ba91070d9e91b74c7194faf7/8ff5a/8.png 240w,\n/static/28f7fef2ba91070d9e91b74c7194faf7/e85cb/8.png 480w,\n/static/28f7fef2ba91070d9e91b74c7194faf7/d9199/8.png 960w,\n/static/28f7fef2ba91070d9e91b74c7194faf7/07a9c/8.png 1440w,\n/static/28f7fef2ba91070d9e91b74c7194faf7/29114/8.png 1920w,\n/static/28f7fef2ba91070d9e91b74c7194faf7/e7dd1/8.png 3354w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"9\">\n<li>If necessary, define the <strong>consent screen</strong> settings. <strong>Note:</strong> It contains a form like a Google Play app submission that requires validation from Google, if you choose your app to not being validated, you have a limitation of 100 calls of what they call Sensitive scopes before being asked for submission.</li>\n<li>Save your <code>Client ID</code> and your <code>Client Secrete</code> keys.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/93df8be3bc78d17fe74dc291b924812b/8c565/9.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABo0lEQVQoz4VS7U4qMRTc938GCHY/yrZd4CVEwk8Ckri7Zg1eyTXeqwmC0QQdOy3FlcTYZNLuOdM5c043EmcCcRw7ZFmGohhA5gWUNuhLCa01lFLfYIyxvOKIXOVIc4WzxCCiSLhE0SRJIeIEWSJdjDnC6C8RCrahDWMFBoMCUU9IZNJXTtPECibH3Z9TX0gkkJlEnude5FBIKY1Uemgbj8ShVQoKIWyVAfr9Ps7H57hcLDCbzVDXFVarFe7u/mA6nboC5PBOu3XejUIlgkRp5xbblhfzOXa7F2w2G+y2L9g+7/D+/oGqqlzhMA4/guIwVydoXICtdLtdt3c6Hefs7/0/lHWDprrBqrnFw/8n6/oSvV7POSQ3zDSOhd21d8gAK3JmJBFz63C9XuPp8dG53G6f8fb2iuVy6fLD4bD1ygZpppyxoyB3PgCFOdO6rsG13+/RXmyZec4r/D7+pf05CmIkjEYjB35PJhM0TeMEyrJEeXVli1xjPL5wefLo8hRHwfBKBBNsi47ppg11aDdwT/FNsE0Mbk8ROD+J/ij4G9rCbXwCOeToi/vvFtIAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"9\"\n        title=\"9\"\n        src=\"/static/93df8be3bc78d17fe74dc291b924812b/d9199/9.png\"\n        srcset=\"/static/93df8be3bc78d17fe74dc291b924812b/8ff5a/9.png 240w,\n/static/93df8be3bc78d17fe74dc291b924812b/e85cb/9.png 480w,\n/static/93df8be3bc78d17fe74dc291b924812b/d9199/9.png 960w,\n/static/93df8be3bc78d17fe74dc291b924812b/07a9c/9.png 1440w,\n/static/93df8be3bc78d17fe74dc291b924812b/29114/9.png 1920w,\n/static/93df8be3bc78d17fe74dc291b924812b/8c565/9.png 3346w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"11\">\n<li>To generate <code>access</code> and <code>refresh tokens</code>, go to <code>https://developers.google.com/oauthplayground</code>. Click on the cog icon in the top right, check Use your own OAuth credentials and enter <code>Client ID</code> and <code>Client Secret</code>.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/29d98959869a012b49af0b759c927204/b7244/10.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABMUlEQVQoz5WS226DMBBE/f//18e+pARIMCZcbQP2ZL3EFNKqUEsjEGKPZ3dWyLLALc9R3O+QZYlhGGCthYky5lBa61XCdi20KmGbmgEBNk8TPMmNI5xz8N7/UPw+zzObiGCRXK/4ShKEZ5ZlKIoCTU1wumBuG3gq8MCv0KjtEdfswqD68WCHIzkLt7rNj+9F2/MOF1meoHrB4GZQvwvgJf7xwOEOmKYXqCyFH3pA9zS7cdfKrq0/nK4td10HSQn3bUsuR3YTWo4u/XdvOHNESEZVFZRSPMeY3OowvFtz3mGIu4pAStc5z4FwaWhfD/BhtmeBqpKQUvIu9X0fLIXKxRWJA1lneRyOUEqyQ2MsORnxkUz4TAg8mRV0dn7LHtJCR0la6vSmUFYUkNE8S/xjZYKe0gauZp0kDbgAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"10\"\n        title=\"10\"\n        src=\"/static/29d98959869a012b49af0b759c927204/d9199/10.png\"\n        srcset=\"/static/29d98959869a012b49af0b759c927204/8ff5a/10.png 240w,\n/static/29d98959869a012b49af0b759c927204/e85cb/10.png 480w,\n/static/29d98959869a012b49af0b759c927204/d9199/10.png 960w,\n/static/29d98959869a012b49af0b759c927204/07a9c/10.png 1440w,\n/static/29d98959869a012b49af0b759c927204/29114/10.png 1920w,\n/static/29d98959869a012b49af0b759c927204/b7244/10.png 3348w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<p>In the left column, select Gmail API v1 and click <code>Authorise APIs</code></p>\n<p>12.If you are signed into multiple accounts, when prompted select the relevant account.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6412bc8dbb5c6a626e1197c901736ea4/109e2/11.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAnElEQVQoz61TiwrDIAzs/3/oBhuUrtCp5HEzgRapdaN1gaBCct7lyICDUNXtbGVZV8aARuyLf72/Am4MRMDMFWO/n2G4FhpYjBEppXwn/+CS5LLhvSy4P0bcni+Mc4ToyvQCoIHN0wQWgCxZM2AHQ8kSQ5YcQnC5Nrkulytn98acB6zBu0wxd11ufpt8IvLsmqH47PDfTTlqbG3KB3V2ucj4IRVuAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"11\"\n        title=\"11\"\n        src=\"/static/6412bc8dbb5c6a626e1197c901736ea4/d9199/11.png\"\n        srcset=\"/static/6412bc8dbb5c6a626e1197c901736ea4/8ff5a/11.png 240w,\n/static/6412bc8dbb5c6a626e1197c901736ea4/e85cb/11.png 480w,\n/static/6412bc8dbb5c6a626e1197c901736ea4/d9199/11.png 960w,\n/static/6412bc8dbb5c6a626e1197c901736ea4/07a9c/11.png 1440w,\n/static/6412bc8dbb5c6a626e1197c901736ea4/29114/11.png 1920w,\n/static/6412bc8dbb5c6a626e1197c901736ea4/109e2/11.png 3352w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"13\">\n<li>Click <code>Allow</code>.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/efe206967e55f50f29ddb337f45f71b0/8c565/12.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA30lEQVQoz6WT+Q7CIAzGff+n8jVc/MMzsmUzA+a4Cp/dzOIVLyQpSTm+tr/CDC9GSunJv1163J/G7J1YjJGNcFFKN8LppehbwRAIUvfoTIDxEb0jEAcZAqTfBK+HRXNCsRJYrgU2pYTz9JTp1xkSEbRq0bQa8uTHTAcMWYJjSXxZSYljq9D1ForL9z7kZ+icR1VVUEpBa8VMwx27DEGH3f6Asqwg2I5Ng0h/MLTcgG1tIDvLpTrU0nCnsxiOMwb+IU4vEJgvPArxF0MHa83oD90lZkgU8hlefsp9iZ9+yhk4NrWCqeK0gAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"12\"\n        title=\"12\"\n        src=\"/static/efe206967e55f50f29ddb337f45f71b0/d9199/12.png\"\n        srcset=\"/static/efe206967e55f50f29ddb337f45f71b0/8ff5a/12.png 240w,\n/static/efe206967e55f50f29ddb337f45f71b0/e85cb/12.png 480w,\n/static/efe206967e55f50f29ddb337f45f71b0/d9199/12.png 960w,\n/static/efe206967e55f50f29ddb337f45f71b0/07a9c/12.png 1440w,\n/static/efe206967e55f50f29ddb337f45f71b0/29114/12.png 1920w,\n/static/efe206967e55f50f29ddb337f45f71b0/8c565/12.png 3346w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<ol start=\"14\">\n<li>Click <code>Exchange authorisation code for tokens</code>. This will give you the <code>refreshToken</code> and the <code>expires</code> token.</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4e01e80fa0d397d910682ad1a9fee593/5f7f2/13.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABPElEQVQoz52T3XKDIBCFff+3ap+gF51eN4m/ICrQACJ4shBjetU0cfyGxXWXs+xs0fccrGvBGYMQAtZYzPMM6xycmwn3EGMMrLUwRDH/aNhBwCm5/xBCAMJyBZFYd9b1Bn2nNcZAIkwW4RwlLKsKJ6Kqa7BN5TiMGLoevBGYlIcyEfJMgfOKJazwGwud6xN07hKuvqIsS5yO36jKA+rqhLapwXmPmk2omELDNdpe55UJDanPUIRUG3lvoU3IFMts8XU0eP9UePsYcOgM1rjQnRg4wntHpUV6Qy4vhjthI8aImMsnhdM0gg8K/WQxjQZn6yk43dtrT9E0DTrq8ig4JtYidV1rnZ33BvyfYpecoBJvdnLekj6lcLdSoPe/ti8mfKWsP0t+dOLTCqWUSCil8vikScmjR3aemCebcwHASKxOwQrXPgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"13\"\n        title=\"13\"\n        src=\"/static/4e01e80fa0d397d910682ad1a9fee593/d9199/13.png\"\n        srcset=\"/static/4e01e80fa0d397d910682ad1a9fee593/8ff5a/13.png 240w,\n/static/4e01e80fa0d397d910682ad1a9fee593/e85cb/13.png 480w,\n/static/4e01e80fa0d397d910682ad1a9fee593/d9199/13.png 960w,\n/static/4e01e80fa0d397d910682ad1a9fee593/07a9c/13.png 1440w,\n/static/4e01e80fa0d397d910682ad1a9fee593/29114/13.png 1920w,\n/static/4e01e80fa0d397d910682ad1a9fee593/5f7f2/13.png 3356w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h2>Adding Credentials</h2>\n<p>You should now have all the necessary credentials. Add the following credentials inside the <code>config.env</code> file.</p>\n<h2>Authentication object</h2>\n<p><code>auth</code> is the authentication object.</p>\n<ul>\n<li><code>user</code> – user email address (required)</li>\n<li><code>clientId</code> – is the registered client id of the application</li>\n<li><code>clientSecret</code> – is the registered client secret of the application</li>\n<li><code>refreshToken</code> – is an optional refresh token. If it is provided then Nodemailer tries to generate a new access token if existing one expires or fails</li>\n<li><code>accessToken</code> – is the access token for the user. Required only if refreshToken is not available and there is no token refresh callback specified</li>\n<li><code>expires</code> – is an optional expiration time for the current accessToken</li>\n</ul>\n<h2>Config</h2>\n<pre><code>EMAIL_FROM=\nEMAIL_CLIENT_ID=\nEMAIL_CLIENT_SECRET=\nEMAIL_REFRESH_TOKEN=\nEMAIL_ACCESS_TOKEN=\nEMAIL_EXPIRES=\n</code></pre>","frontmatter":{"path":"/docs/gmail-oauth","date":"2020-01-07T19:12:33.962Z","header":"Managing Orders","title":"Setting up Gmail Oauth2 📬"}}},"pageContext":{"pages":[{"path":"/docs/changelog","title":"Changelog & To Do's 📝","header":"Beluga Next Steps","date":"2020-01-11T17:12:33.962Z"},{"path":"/docs/seo-social","title":"SEO and Social Media 💻","header":"Launching Your Store","date":"2020-01-10T17:12:33.962Z"},{"path":"/docs/deploy-to-heroku","title":"Deploying To Heroku 🚀","header":"Launching Your Store","date":"2020-01-09T17:12:33.962Z"},{"path":"/docs/gmail-oauth","title":"Setting up Gmail Oauth2 📬","header":"Managing Orders","date":"2020-01-07T19:12:33.962Z"},{"path":"/docs/email-templates","title":"Email Templates 🧾","header":"Managing Orders","date":"2020-01-07T18:12:33.962Z"},{"path":"/docs/managing-orders","title":"Order Admin 📦","header":"Managing Orders","date":"2020-01-07T16:12:33.962Z"},{"path":"/docs/custom-products","title":"Advanced: Custom Product Data 💫","header":"Store Configuration","date":"2020-01-06T22:12:33.962Z"},{"path":"/docs/shipping","title":"Checkout & Shipping 🛒","header":"Store Configuration","date":"2020-01-06T21:12:33.962Z"},{"path":"/docs/additional-pages","title":"Adding Pages 📄","header":"Store Configuration","date":"2020-01-06T20:12:33.962Z"},{"path":"/docs/adding-collections","title":"Adding Collections 📂","header":"Store Configuration","date":"2020-01-06T19:12:33.962Z"},{"path":"/docs/adding-products","title":"Adding Products 🎁","header":"Store Configuration","date":"2020-01-06T18:12:33.962Z"},{"path":"/docs/theming-design","title":"Theming & Design 🎨","header":"Store Configuration","date":"2020-01-06T17:12:33.962Z"},{"path":"/docs/store-config","title":"Store Settings 🛠","header":"Store Configuration","date":"2020-01-05T16:12:33.962Z"},{"path":"/docs/stripe","title":"Setting up Stripe 💵","header":"Introduction","date":"2020-01-04T17:12:33.962Z"},{"path":"/docs/new-store","title":"Creating a New Store 🛍","header":"Introduction","date":"2020-01-03T17:12:33.962Z"},{"path":"/docs/dev-environment","title":"Setting up the Dev Environment 🧪","header":"Introduction","date":"2020-01-02T17:12:33.962Z"},{"path":"/docs/project-structure","title":"Overview of Project Structure 🏗","header":"Introduction","date":"2020-01-01T17:12:33.962Z"}]}},"staticQueryHashes":["45326706"]}