r-lib / gmailr

Access the Gmail RESTful API from R.
https://gmailr.r-lib.org
Other
229 stars 56 forks source link

gm_save_attachments cant get files with colons in the name #122

Open VincentGuyader opened 4 years ago

VincentGuyader commented 4 years ago

This kind of attachments is ok

Subject: Nouvelle facture fournisseur / New supplier invoice Attachments: 'OCR_e8cd3fa7-c7ed-4132-8b05-1e9d23d50777_data.pdf'

but this is not ok :

Subject: Nouvelle facture fournisseur / New supplier invoice Attachments: 'OUI.sncf_2019-09-16_00:00:00_40964.pdf'

with :

Error in file(con, "wb") : cannot open the connection In addition: Warning message: In file(con, "wb") : cannot open file './OUI.sncf_2019-09-16_00:00:00_40964.pdf': Invalid argument

Full reprex :


ok <- structure(list(id = "16d7bf8f0aa016df", threadId = "16d7bf8f0aa016df", 
                     labelIds = list("UNREAD", "CATEGORY_UPDATES", "INBOX"), snippet = "Un nouveau document a été téléchargé sur Azopio. A new document has been uploaded on Azopio.", 
                     historyId = "25262", internalDate = "1569742969000", payload = list(
                       partId = "", mimeType = "multipart/mixed", filename = "", 
                       headers = list(list(name = "Delivered-To", value = "pop3thinkr@gmail.com"), 
                                      list(name = "Received", value = "by 2002:ac8:1341:0:0:0:0:0 with SMTP id f1csp5671539qtj;        Sun, 29 Sep 2019 00:42:55 -0700 (PDT)"), 
                                      list(name = "X-Google-Smtp-Source", value = "APXvYqzdrT8tGVLy60ttJYXta/c8G6rjNE8OZtiWGqSf6C6CJ2gzO3YrIxO3PzpeEtcMr+Hcdm/H"), 
                                      list(name = "X-Received", value = "by 2002:a1c:7ed7:: with SMTP id z206mr14004026wmc.124.1569742975076;        Sun, 29 Sep 2019 00:42:55 -0700 (PDT)"), 
                                      list(name = "ARC-Seal", value = "i=1; a=rsa-sha256; t=1569742975; cv=none;        d=google.com; s=arc-20160816;        b=uutKPCJ5OyC3A+6GKpcf4+wHtvIrESlF4HDWJdqY/STK+piWd1DaKcPYejjD+Cj4N1         T1mR4f6mJ83iu3ubRHL0r3cqdYlUktLKNPBjpHQZDFMFrNr+0Ua8NVdIN6D11WtQFrn/         B6rbpMpLgk+HAHn/7HPkgh/N9qMgy2VGPmhS8Xvkha8Ep3JHXcEUTLErTPTHfdV3jbVO         oQIxpfc0U+BJb03lC6Q3f29YiLcH1lH3s/bGdMzzRGYYkqhxcWCnFV4Z7/1MH6d2bKGV         M8SEqWh9W1U6zX9G2117vIkBwHO84W4CSLRoRv9WWcDVvlZ8Bz3S4Vb7SJbN5qgPADR0         HrxQ=="), 
                                      list(name = "ARC-Message-Signature", value = "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;        h=from:feedback-id:mime-version:origin-messageid:message-id:subject         :date:to:dkim-signature;        bh=GUnf18CjRrmZBVPu75G8Yw+BNW31s0wRfNGnDysIPZE=;        b=1C9LrEuEROeX7sjfwbvidVxPDqlJ8pCowH/l5p9r9o7B5ZLEra722+oadWfeRQ9dPu         3fDIqktYpY4N+fNSTxChsoFhg5z4ymAi1TOsAOgFNFjnyI4VJhKDHFFsnD2h6YWrbV+z         Zdr4qxmGB+I0F7obnMzro76j+R23SQmBHBB9IOC16cL6tGYu1g5AMq1qyxhFZRYiyHs8         7FHO1ztvcrv5O6IOTtGb5/4UvKsJ7OZP8HaUwCdTWF3pZOkMbvO5f8RTYNoCMPcxh+7Q         3/Ki+MogN5YyGARazAUhUFddeJbHJc8cO6Sc8yEPRktIoWf8fJ5LfaBA96nsWTuzGlmI         GCeg=="), 
                                      list(name = "ARC-Authentication-Results", value = "i=1; mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=X1XvM4xH;       spf=softfail (google.com: domain of transitioning bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                      list(name = "Return-Path", value = "<bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com>"), 
                                      list(name = "Received", value = "from mail.NDD.fr (maila.NDD.fr. [178.33.226.186])        by mx.google.com with ESMTPS id a18si6440846wrf.256.2019.09.29.00.42.54        (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);        Sun, 29 Sep 2019 00:42:55 -0700 (PDT)"), 
                                      list(name = "Received-SPF", value = "softfail (google.com: domain of transitioning bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com does not designate 178.33.226.186 as permitted sender) client-ip=178.33.226.186;"), 
                                      list(name = "Authentication-Results", value = "mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=X1XvM4xH;       spf=softfail (google.com: domain of transitioning bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                      list(name = "Received-SPF", value = "Pass (mailfrom) identity=mailfrom; client-ip=185.41.28.128; helo=aa.d.sender-sib.com; envelope-from=bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com; receiver=<UNKNOWN>"), 
                                      list(name = "Authentication-Results", value = "mail.NDD.fr; dmarc=pass (p=none dis=none) header.from=app.azopio.com"), 
                                      list(name = "Authentication-Results", value = "mail.NDD.fr; dkim=pass (1024-bit key; unprotected) header.d=app.azopio.com header.i=@app.azopio.com header.b=\"X1XvM4xH\"; dkim-atps=neutral"), 
                                      list(name = "Received", value = "from aa.d.sender-sib.com (aa.d.sender-sib.com [185.41.28.128]) by mail.NDD.fr (Postfix) with ESMTPS id EEE7328C4398 for <XXX@NDD.fr>; Sun, 29 Sep 2019 07:42:49 +0000 (UTC)"), 
                                      list(name = "DKIM-Signature", value = "v=1; a=rsa-sha256; c=relaxed/relaxed; d=app.azopio.com; q=dns/txt; s=mail; bh=GUnf18CjRrmZBVPu75G8Yw+BNW31s0wRfNGnDysIPZE=; h=from:subject:date:mime-version:content-type;        b=X1XvM4xHNM2K9GJViXgw5k/xzeEcPW33b94dqj876X713z6wvfadPCwD2PPU4vJMEQZ+qa1xs1sH        KAgF3Zts9iFmKZHjG1reVWBaZxiVN03ZoXlssxfbTbXnMUJJvgf68qHjEUQHc9/H+/alG6nSScMf        OoIdCbUSVudY3VtFI9E="), 
                                      list(name = "X-Mailin-EID", value = "NTUzMTE4MTR%2BbGVzanVzdGlmc0B0aGlua3IuZnJ%2BPDIwMTkwOTI5MDk0Mi45MDIzMjY1MTI2MkBzbXRwLXJlbGF5Lm1haWxpbi5mcj5%2BYWEuZC5zZW5kZXItc2liLmNvbQ%3D%3D"), 
                                      list(name = "To", value = "XXX@NDD.fr"), 
                                      list(name = "Date", value = "Sun, 29 Sep 2019 09:42:49 +0200"), 
                                      list(name = "Subject", value = "Nouvelle facture fournisseur / New supplier invoice"), 
                                      list(name = "Message-Id", value = "<68f8b60a-0848-4358-a989-fd1227fb99d1@smtp-relay.sendinblue.com>"), 
                                      list(name = "Origin-messageId", value = "<201909290942.90232651262@smtp-relay.mailin.fr>"), 
                                      list(name = "Content-Type", value = "multipart/mixed; boundary=\"===============8607956150063306052==\""), 
                                      list(name = "MIME-Version", value = "1.0"), list(
                                        name = "X-sib-id", value = "fshvzKKDQ35ORfrQ9UA133Vg3qi3AE4TeU6pLnU1oVcGcFrq4NWsnkfrFxkGo0ZSxPVFaz9vpKSV4leMtDCWGqbNRpLzK63iAwNCOP2-R0o_P8w04ocOnvDUc_I8Gx5F0DO90_cfQsCmkmVySge6aO6iJm4YkNtwkYb5v-6sYDZdHg"), 
                                      list(name = "Feedback-ID", value = "185.41.28.128:1663519_-1:1663519:Sendinblue"), 
                                      list(name = "From", value = "Azopio <noreply@app.azopio.com>")), 
                       body = list(size = 0L), parts = list(list(partId = "0", 
                                                                 mimeType = "text/html", filename = "", headers = list(
                                                                   list(name = "Content-Type", value = "text/html; charset=\"utf-8\""), 
                                                                   list(name = "MIME-Version", value = "1.0"), list(
                                                                     name = "Content-Transfer-Encoding", value = "base64")), 
                                                                 body = list(size = 331L, data = "VW4gbm91dmVhdSBkb2N1bWVudCBhIMOpdMOpIHTDqWzDqWNoYXJnw6kgc3VyIEF6b3Bpby48YnI-PGJyPkEgbmV3IGRvY3VtZW50IGhhcyBiZWVuIHVwbG9hZGVkIG9uIEF6b3Bpby48aW1nIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHNyYz0iaHR0cDovL2JnZ2RmYmouci5iaC5kLnNlbmRpYnQzLmNvbS90ci9vcC9memRlWFdVcVV1Qy1YQXNOVFExMGxBeGtDeFJkYlZoT1N2M0k4SmE1MDNQRmYzQ2VYYjRwa1RDWURTWjcwNDZ6SWhOYXY5SEU2NzNHTkdpb3FfOHkyd1pwXy1kTW95ZkR6QnFMU2VQNkdieTlOUUpDMmUtMk5Rd3JtTXBRTV9HRkR4MC1OSUdoUkFnR0lBIiBhbHQ9IiIgLz4NCg==")), 
                                                            list(partId = "1", mimeType = "application/octet-stream", 
                                                                 filename = "OCR_e8cd3fa7-c7ed-4132-8b05-1e9d23d50777_data.pdf", 
                                                                 headers = list(list(name = "Content-Type", value = "application/octet-stream"), 
                                                                                list(name = "MIME-Version", value = "1.0"), 
                                                                                list(name = "Content-Transfer-Encoding", value = "base64"), 
                                                                                list(name = "Content-Disposition", value = "attachment; filename=\"OCR_e8cd3fa7-c7ed-4132-8b05-1e9d23d50777_data.pdf\"")), 
                                                                 body = list(attachmentId = "ANGjdJ8XrvFcKXnbMQlYswly4uWJTOkx4v5Cg6MshY0kZa1hLkQigig2_qZoPMyJmnGp7ieCp3_1jTmMaqTVJlnH4YgnO1DfLl68sRk3FrAcwMf2CZzQHryvncUJK1gIvee5PPNjPeTsO0-aG37WzE_VgrZOro4IH6svYwpWMtUto2qNGyQWz4wRxg2oyZ0a4v30rnE_va7xEhcUB8Q4JLkkU3x2QF--KKB-X2uhRhVaiP3Op2jnmKkTOScsID3593o853aor6Mk_u7HBcz9eTuV3p8AUIlGunoSE1p-n6LDFQx1ouHr9rp5QmeMdHp5motZ5fUmdmtxY2zF4CT9rf6ZhKoAY-uw-Xew3anret_D_lrBAZVYmN8VbwpKFxQ", 
                                                                             size = 15343L)))), sizeEstimate = 27275L), class = "gmail_message")

not_ok <- structure(list(id = "16d5a60b99c95a8b", threadId = "16d5a60b99c95a8b", 
                         labelIds = list("UNREAD", "CATEGORY_UPDATES", "INBOX"), snippet = "Un nouveau document a été téléchargé sur Azopio. A new document has been uploaded on Azopio.", 
                         historyId = "24624", internalDate = "1569179340000", payload = list(
                           partId = "", mimeType = "multipart/mixed", filename = "", 
                           headers = list(list(name = "Delivered-To", value = "pop3thinkr@gmail.com"), 
                                          list(name = "Received", value = "by 2002:ac8:1341:0:0:0:0:0 with SMTP id f1csp1795516qtj;        Sun, 22 Sep 2019 12:09:11 -0700 (PDT)"), 
                                          list(name = "X-Google-Smtp-Source", value = "APXvYqwFQd2Iyrndt5TjOHMzQwBEay2Sl6e9DkrJXhRkBvOyhFnb0dcmDvWjp18AKFeQFkhUi+PN"), 
                                          list(name = "X-Received", value = "by 2002:a5d:628f:: with SMTP id k15mr17771810wru.124.1569179351067;        Sun, 22 Sep 2019 12:09:11 -0700 (PDT)"), 
                                          list(name = "ARC-Seal", value = "i=1; a=rsa-sha256; t=1569179351; cv=none;        d=google.com; s=arc-20160816;        b=AfW71KXdMkUwmuhOLsuQz5co7yUu5BOA0Gp0oUwDFJCaUNcetblsvrTETmyQ6A8o/o         dVkwkd1/kj4qt1/bZNUpOMCAjuxs+7p3D2zFFd+x3n1CQvW1pguaWYW3/mPChQlQ05i9         qvPooo82ujgfbHUUM2+a5cTit1QT392Ajo/5rA7WewO2IQ6CgM2LQc8/f7YFqNwIPbAB         v6UP7YRclY1JHGPdR7JNyvhSjon4ukpqC2mue7dNpGw52zSAENRgK0ZcTagXMp20WJjX         s/CdkmbcqbCvT5ho33wbOuAEjpi5v1G9n6JGb2D1nCksYuyQwbIKccCH8o9d2EbzWvQh         Ky5g=="), 
                                          list(name = "ARC-Message-Signature", value = "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;        h=from:feedback-id:mime-version:origin-messageid:message-id:subject         :date:to:dkim-signature;        bh=6UnLXqzs8ExfllQa8vQR2CBYYvRpZ2PveHDFd4l2pRI=;        b=UxPj//Q87BhBMxxX5RXQ/zTvpmS92UkPvldPNh9yyDXKyFa7DTb0BqiDc51k24JHFQ         yZiRuHSNtkIVPHdcile9TR9dGhOvkTKjrYH0fGGGBcVQzy2d4qPFqpUaDl3Vt4+L7r/G         F1EFIg9cAbltH7EKom0nAyqTVugmiDpVRIVD7ZOmM5T/vq6goVWZ+hYgHLC+0cjN+6ON         ZxB3JZFO/fHCZZXgh7jsdYYHvfk78Lo4IgA+NU0RibqGuIzELeRKlhyU5cADHfGGL5w/         lGWy5UCuR2TebSOC/xlVb+Rm9Iu03ciiT4JX97MMAdjD9xJb7ot7R659Ll74EQU/ORjH         kdsQ=="), 
                                          list(name = "ARC-Authentication-Results", value = "i=1; mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=adG8PUfw;       spf=softfail (google.com: domain of transitioning bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                          list(name = "Return-Path", value = "<bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr>"), 
                                          list(name = "Received", value = "from mail.NDD.fr (mail.NDD.fr. [178.33.226.186])        by mx.google.com with ESMTPS id i189si7160887wmg.178.2019.09.22.12.09.10        (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);        Sun, 22 Sep 2019 12:09:11 -0700 (PDT)"), 
                                          list(name = "Received-SPF", value = "softfail (google.com: domain of transitioning bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr does not designate 178.33.226.186 as permitted sender) client-ip=178.33.226.186;"), 
                                          list(name = "Authentication-Results", value = "mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=adG8PUfw;       spf=softfail (google.com: domain of transitioning bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                          list(name = "Received-SPF", value = "Pass (mailfrom) identity=mailfrom; client-ip=185.41.28.5; helo=ae.d.mailin.fr; envelope-from=bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr; receiver=<UNKNOWN>"), 
                                          list(name = "Authentication-Results", value = "mail.NDD.fr; dmarc=pass (p=none dis=none) header.from=app.azopio.com"), 
                                          list(name = "Authentication-Results", value = "mail.NDD.fr; dkim=pass (1024-bit key; unprotected) header.d=app.azopio.com header.i=@app.azopio.com header.b=\"adG8PUfw\"; dkim-atps=neutral"), 
                                          list(name = "Received", value = "from ae.d.mailin.fr (ae.d.mailin.fr [185.41.28.5]) by mail.NDD.fr (Postfix) with ESMTPS id 74B8228C5560 for <lesjustifs@NDD.fr>; Sun, 22 Sep 2019 19:09:07 +0000 (UTC)"), 
                                          list(name = "DKIM-Signature", value = "v=1; a=rsa-sha256; c=relaxed/relaxed; d=app.azopio.com; q=dns/txt; s=mail; bh=6UnLXqzs8ExfllQa8vQR2CBYYvRpZ2PveHDFd4l2pRI=; h=from:subject:date:mime-version:content-type;        b=adG8PUfwTJbiYU1e2ogqQVQnrHReZLGXPfvuoT1CsgtJoiiPYX+bwxIEMYaEwgHqShL3W4nrn88F        hDjEs+9kMqJgN+y5vg5VDt+haJXN0oKAdhYOPWJclLNQ7Jb645x6iPr2UOQmW4TrFLPiob20S2EV        Eq+RMF4MZD5lU/cT824="), 
                                          list(name = "X-Mailin-EID", value = "NTUzMTE4MTR%2BbGVzanVzdGlmc0B0aGlua3IuZnJ%2BPDIwMTkwOTIyMjEwOS43NDk0MDI3MjY2NUBzbXRwLXJlbGF5Lm1haWxpbi5mcj5%2BYWUuZC5tYWlsaW4uZnI%3D"), 
                                          list(name = "To", value = "lesjustifs@NDD.fr"), 
                                          list(name = "Date", value = "Sun, 22 Sep 2019 21:09:00 +0200"), 
                                          list(name = "Subject", value = "Nouvelle facture fournisseur / New supplier invoice"), 
                                          list(name = "Message-Id", value = "<7ca05658-9353-4c54-b466-0e92363ba4f1@smtp-relay.sendinblue.com>"), 
                                          list(name = "Origin-messageId", value = "<201909222109.74940272665@smtp-relay.mailin.fr>"), 
                                          list(name = "Content-Type", value = "multipart/mixed; boundary=\"===============6318386635271129077==\""), 
                                          list(name = "MIME-Version", value = "1.0"), list(
                                            name = "X-sib-id", value = "0cq7cRQN5-vEtXd3TuI45A5zGSW6yLnJksHmwf8h9heGfHjbjRxLiL_BaYRBOEyXFCWRmCYPp-Ta8Y7mqr6mMxLTZ4hr0l5ptpZtd08mNzH2aU7_uXB1gBqdq3hdaHQLq4hi-5cH5s4ZQte9P2M9rniVBRnTosPD9zenxutoPpgibA"), 
                                          list(name = "Feedback-ID", value = "185.41.28.5:1663519_-1:1663519:Sendinblue"), 
                                          list(name = "From", value = "Azopio <noreply@app.azopio.com>")), 
                           body = list(size = 0L), parts = list(list(partId = "0", 
                                                                     mimeType = "text/html", filename = "", headers = list(
                                                                       list(name = "Content-Type", value = "text/html; charset=\"utf-8\""), 
                                                                       list(name = "MIME-Version", value = "1.0"), list(
                                                                         name = "Content-Transfer-Encoding", value = "base64")), 
                                                                     body = list(size = 331L, data = "VW4gbm91dmVhdSBkb2N1bWVudCBhIMOpdMOpIHTDqWzDqWNoYXJnw6kgc3VyIEF6b3Bpby48YnI-PGJyPkEgbmV3IGRvY3VtZW50IGhhcyBiZWVuIHVwbG9hZGVkIG9uIEF6b3Bpby48aW1nIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHNyYz0iaHR0cDovL2JnZ2RmYmouci5iaC5kLnNlbmRpYnQzLmNvbS90ci9vcC9ib1hGck4zTkhDWFRmekdiTTRoVmRtU00wYmtSR1VGdEpia0kwRm9YUUhkVzEtQUlPSzFCRnU4c2tMNGNyOEliZ21fLWdSVFgwdGk3TUs2dERVUnZnbU9kdTFFY2VVd2c5NldsMG1aVEQwWkxoaUluVF9NTHZKV3JDdGtqQ3gtTmZjLUgwbGNCam5WS0F3IiBhbHQ9IiIgLz4NCg==")), 
                                                                list(partId = "1", mimeType = "application/octet-stream", 
                                                                     filename = "OUI.sncf_2019-09-16_00:00:00_40964.pdf", 
                                                                     headers = list(list(name = "Content-Type", value = "application/octet-stream"), 
                                                                                    list(name = "MIME-Version", value = "1.0"), 
                                                                                    list(name = "Content-Transfer-Encoding", value = "base64"), 
                                                                                    list(name = "Content-Disposition", value = "attachment; filename=\"OUI.sncf_2019-09-16_00:00:00_40964.pdf\"")), 
                                                                     body = list(attachmentId = "ANGjdJ-_1nV1olyC__enQta0twhxC-yXtne96hF_XKvJkf-SKga6legc6EJijnb3tvx8auBnKbsOau7WZOSwElJqrw7k58q4fIH0GvGtgGIb86bhEXL2zU9mSwV8hfj2Mw_A1tRxD-rx72EcNstROG4CTAejhLjeJgidVC2w7ebc_I76bj-xfmJhDWn98icIoPvobKp4qOotEs-h36OixtbcgHb9MW6M9iddMOkQW3oO2foJ4Jxl9ebqMBcilPn8WaSf90xdS9dI8csVHztN9xG8q1zvJz4yndMIsdqvHWMkFE29INNyPsnl9wybagE34CCLb_-UhY_6ZnnEK0uSduc2-e__Z1b-rdbzltWRjqFrGFCeCQmN_t6ZsV6ymqg", 
                                                                                 size = 12061L)))), sizeEstimate = 22590L), class = "gmail_message")

library(gmailr)
#> 
#> Attachement du package : 'gmailr'
#> The following object is masked from 'package:utils':
#> 
#>     history
#> The following objects are masked from 'package:base':
#> 
#>     body, date, labels, message
gm_save_attachments(ok)
gm_save_attachments(not_ok)
#> Error in file(con, "wb") : cannot open the connection
#> In addition: Warning message:
#> In file(con, "wb") :
#>   cannot open file './OUI.sncf_2019-09-16_00:00:00_40964.pdf': Invalid argument

Created on 2019-09-29 by the reprex package (v0.3.0)

Session info ``` r devtools::session_info() #> - Session info ---------------------------------------------------------- #> setting value #> version R version 3.6.1 (2019-07-05) #> os Windows 10 x64 #> system x86_64, mingw32 #> ui RTerm #> language (EN) #> collate French_France.1252 #> ctype French_France.1252 #> tz Europe/Paris #> date 2019-09-29 #> #> - Packages -------------------------------------------------------------- #> package * version date lib source #> assertthat 0.2.1 2019-03-21 [1] CRAN (R 3.6.0) #> backports 1.1.4 2019-04-10 [1] CRAN (R 3.6.0) #> base64enc 0.1-3 2015-07-28 [1] CRAN (R 3.6.0) #> callr 3.2.0 2019-03-15 [1] CRAN (R 3.6.0) #> cli 1.1.0 2019-03-19 [1] CRAN (R 3.6.0) #> crayon 1.3.4 2017-09-16 [1] CRAN (R 3.6.0) #> curl 3.3 2019-01-10 [1] CRAN (R 3.6.0) #> desc 1.2.0 2018-05-01 [1] CRAN (R 3.6.0) #> devtools 2.0.2 2019-04-08 [1] CRAN (R 3.6.0) #> digest 0.6.19 2019-05-20 [1] CRAN (R 3.6.0) #> evaluate 0.14 2019-05-28 [1] CRAN (R 3.6.0) #> fs 1.3.1 2019-05-06 [1] CRAN (R 3.6.0) #> gargle 0.3.1 2019-07-26 [1] CRAN (R 3.6.1) #> glue 1.3.1 2019-03-12 [1] CRAN (R 3.6.0) #> gmailr * 1.0.0.9000 2019-09-29 [1] Github (r-lib/gmailr@61e2105) #> highr 0.8 2019-03-20 [1] CRAN (R 3.6.0) #> htmltools 0.3.6 2017-04-28 [1] CRAN (R 3.6.0) #> httr 1.4.0 2018-12-11 [1] CRAN (R 3.6.0) #> knitr 1.23 2019-05-18 [1] CRAN (R 3.6.0) #> lifecycle 0.1.0 2019-08-01 [1] CRAN (R 3.6.1) #> magrittr 1.5 2014-11-22 [1] CRAN (R 3.6.0) #> memoise 1.1.0 2017-04-21 [1] CRAN (R 3.6.0) #> pkgbuild 1.0.3 2019-03-20 [1] CRAN (R 3.6.0) #> pkgload 1.0.2 2018-10-29 [1] CRAN (R 3.6.0) #> prettyunits 1.0.2 2015-07-13 [1] CRAN (R 3.6.0) #> processx 3.3.1 2019-05-08 [1] CRAN (R 3.6.0) #> ps 1.3.0 2018-12-21 [1] CRAN (R 3.6.0) #> R6 2.4.0 2019-02-14 [1] CRAN (R 3.6.0) #> Rcpp 1.0.1 2019-03-17 [1] CRAN (R 3.6.0) #> remotes 2.0.4 2019-04-10 [1] CRAN (R 3.6.0) #> rlang 0.4.0 2019-06-25 [1] CRAN (R 3.6.1) #> rmarkdown 1.13 2019-05-22 [1] CRAN (R 3.6.0) #> rprojroot 1.3-2 2018-01-03 [1] CRAN (R 3.6.0) #> sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 3.6.0) #> stringi 1.4.3 2019-03-12 [1] CRAN (R 3.6.0) #> stringr 1.4.0 2019-02-10 [1] CRAN (R 3.6.0) #> testthat 2.1.1 2019-04-23 [1] CRAN (R 3.6.0) #> usethis 1.5.0 2019-04-07 [1] CRAN (R 3.6.0) #> withr 2.1.2 2018-03-15 [1] CRAN (R 3.6.0) #> xfun 0.8 2019-06-25 [1] CRAN (R 3.6.0) #> yaml 2.2.0 2018-07-25 [1] CRAN (R 3.6.0) #> #> [1] C:/Users/Vincent/Documents/R/win-library/3.6 #> [2] C:/Program Files/R/R-3.6.1/library ```
jimhester commented 4 years ago

I think we would need to sanitize the filenames in more ways than just this to make it robust.

I am also not clear when the colons are causing problems, at least on unix systems colons in file names are definitely valid.

HadyShaaban commented 4 years ago

Hello dears i have an issue in saving email attachment , i tried the following code but with the following error

Clientemails = messages("YesterdaySales")
Email = message(id = Clientemails [[1]]$"messages"[[1]]$"id")$snippet
Sheet = gm_save_attachments(Email , path = "D:/Clientemails /File.xlsx")

the error appearing is

Error in gm_save_attachments(Email, path = "D:/Clientemails /File.xlsx") : 
  has_class(x, "gmail_message") is not TRUE

How can i save the excel sheet from this email ? thanks in advance