برنامه نویسی

آن را مانند داغ رها کنید: ارسال پیوست های ایمیل مستقیم به Google Drive با استفاده از postmark

این یک ارسال برای Challenge Postmark است: مبتکران صندوق ورودی.

آنچه من ساختم

معلمان ، فریلنسرها ، و صندوق ورودی صفر صفر خوشحال می شوند: من ایمیل ایجاد کردم ، یک استقرار یک کلیک AWS که ایمیل های دریافتی را به آپلودهای اتوماتیک Google Drive تبدیل می کند. با استفاده از وب های جدید ورودی Postmark ، AWS Lambda و یک جادوگر کوچک OAUTH ، پیوست ها مستقیماً از صندوق ورودی شما به سمت Google Drive خود پرواز می کنند. در این پست ، من چگونه آن را با استفاده از Postmark ، CloudFormation ، Google Drive و ابزارهای بدون سرور ساخته ام و چگونه می توانید آن را با کد دستی صفر مستقر کنید.

چرا از ایمیل استفاده می کنید؟

نمودار دایره ای که ایمیلهایی را که از صندوق پستی ایمیل کاربر به یک صفحه وب پستی ارسال می شود به AWS Lambda که پرونده های پیوست شده را به Google Drive بارگذاری می کند ، نشان می دهد

  • با یک کلیک مستقر می شود ، هیچ کد نویسی لازم نیست (نسخه ی نمایشی زیر را ببینید و در عرض چند دقیقه مستقر شوید!)
  • از دانش آموزان خود بخواهید تکالیف خود را مستقیماً به Google Drive خود ارسال کنند و بدون نیاز به ارائه آدرس ایمیل واقعی خود
  • اسناد را از همکاران ، کارمندان یا مشتریان پردازش کنید بدون اینکه نیاز به بارگیری دستی داشته باشید و آنها را برای ویرایش و ذخیره بارگذاری کنید
  • یک پوشه عکس برای رویدادهای ویژه مانند عروسی ، تولد و موارد دیگر تنظیم کنید!

نسخه آزمایشی

emaildrop یک پشته CloudFormation با برخی از کد های پایتون است که صندوق ورودی ایمیل شما را ساده می کند. با این حال ، اول ، ما باید اطلاعاتی را از Google جمع آوری کنیم. سپس ، ما روی یک دکمه Launch Stack که تمام زیرساخت ها را مستقر می کند ، کلیک خواهیم کرد- بدون کدگذاری مورد نیاز. سپس Postmark را پیکربندی می کنیم و می پیچیم. بیا بریم!

ایجاد یک پروژه Google Cloud

به کنسول Google Cloud بروید

انتخاب API و خدمات

ایجاد یک پروژه

  • روی پروژه Dropdown → پروژه جدید کلیک کنید
  • نام آن را (به عنوان مثال ، postmarkuploader)
  • روی ایجاد کلیک کنید

فعال کردن API Google Drive

API Google Drive را فعال کنید

  • رفتن به API و خدماتکتابخانه
  • API Google Drive را جستجو کنید
  • روی فعال کردن کلیک کنید

پیکربندی صفحه OAUTH

صفحه رضایت OAUTH را پیکربندی کنید

  • رفتن به API و خدماتصفحه رضایت OAUTH
  • خارجی را انتخاب کنید
  • پر کردن:
    • نام برنامه
    • ایمیل پشتیبانی
    • ایمیل تماس با توسعه دهنده (همه اینها می توانند ایمیل شخصی شما باشند)

خود را به عنوان کاربر آزمایش تبدیل کنید

  • خود را به عنوان کاربر آزمایشی با استفاده از آن اضافه کنید مخاطبان صفحه در نوار کناری
  • روی ذخیره و ادامه کلیک کنید

ایجاد اعتبار OAUTH 2.0

اعتبار OAUTH 2.0 را ایجاد کنید

  • رفتن به API و خدماتاعتبار
  • کلیک کردن اعتبار ایجاد کنیدشناسه مشتری OAUTH
  • برنامه وب را انتخاب کنید
  • اکنون از URI تغییر مسیر استفاده کنید – پس از استقرار پشته ، آن را اضافه خواهید کرد
  • روی ایجاد کلیک کنید
  • شناسه مشتری و راز مشتری را ذخیره کنید

پشته راه اندازی

پشته CloudFormation را مستقر کنید

  • روی دکمه “راه اندازی پشته” در بالا کلیک کنید!
  • هر چیزی را که می خواهید پشته کنید.
  • پارامترها را پر کنید:
    • وابسته به گوگل سلولی: (از مرحله 5)
    • googleclicientsecret: (از مرحله 5)
    • Google Driverfolder: (اختیاری) نام پوشه برای ذخیره پیوست ها
    • زن برهنه: (اختیاری) پیش فرض 60 ثانیه است. افزایش برای پیوست های بزرگ (حداکثر 900)

اجازه دادن به AWS برای ایجاد منابع جدید IAM برای شما
– موافقت کنید که اجازه دهید AWS منابع جدید IAM ایجاد کند و روی “ایجاد پشته” کلیک کند. ایمیل برای استقرار چند دقیقه طول خواهد کشید.

کپی کردن URI تغییر مسیر و عبور از جریان AUTH

URI تغییر مسیر را اضافه کنید

  • پس از استقرار پشته ، به برگه Outputs در CloudFormation بروید
  • خروجی Oauthurl را کپی کنید

اضافه کردن URI تغییر مسیر در Google Cloud

  • بازگشت به Google Cloud Console → مشتریان
  • روی مشتری OAUTH 2.0 خود کلیک کنید
  • URIS تغییر مسیر مجاز را ویرایش کنید
  • در URL که از خروجی پشته کپی کرده اید ، خمیر کنید
  • تغییرات را ذخیره کنید

اجازه دسترسی به Google Drive
جریان OAUTH را کامل کنید

  • در خروجی های پشته ، oauthurl را پیدا کنید
  • آن را در مرورگر خود باز کنید
  • برای شروع جریان تأیید اعتبار ، همانطور که در بالا نشان داده شده است ، روی پیوند کلیک کنید.

برنامه تأیید نشده Google

  • هشدار می دهید که گوگل این برنامه را تأیید نکرده است. روی “ادامه” کلیک کنید
  • تأیید دسترسی به Google Drive
  • لامبدا کد را برای نشانه ها مبادله کرده و آنها را ذخیره می کند

احراز هویت موفق

  • اکنون می توانید این صفحه را ببندید ، احراز هویت به پایان رسیده است!

یک حساب کاربری ارسال کنید

تنظیم پست

پردازش ایمیل ورودی را تنظیم کنید
– در داشبورد postmark خود ، حرکت کنید سرورنام سرور شماجریان ورودی پیش فرض
– حرکت به دستورالعمل راه اندازی
– به آدرس ایمیل منحصر به فرد خود توجه کنید

اضافه کردن URL Webhook URL و اطمینان از Lambda بار JSON را از Postmark دریافت می کند

URL Webhook را پیکربندی کنید
– از تنظیمات صفحه ، پیدا کردن URL Webhook مزرعه
– در خروجی های پشته CloudFormation ، پیدا کنید رفیق ارزش
– این URL را کپی کرده و آن را در قسمت URL Webhook Postmark Postmark قرار دهید
– جعبه ای را که بارگیری JSON را به عملکرد Lambda شما ارسال می کند ، بررسی کنید. ایمیل این json را برای استخراج پیوست ها تجزیه می کند.
– تغییرات خود را ذخیره کنید

پیوست های ایمیل در پوشه Google Drive خود

ادغام را امتحان کنید
– ایمیل با پیوست به آدرس ایمیل ورودی خود ارسال کنید
– پیوست ها باید به طور خودکار در پوشه Google Drive شما بارگذاری شوند
– اگر با هر مشکلی روبرو شدید ، سیاهههای مربوط به Lambda را در CloudWatch بررسی کنید

مخزن کد

به طور خودکار پیوست ها را به ایمیل های ارسال شده به آدرس ایمیل ورودی خود در Google Drive بارگذاری کنید

الگوی ابر ابر

این برنامه به طور خودکار پیوست های ایمیل را از Postmark به Google Drive بارگذاری می کند. هنگامی که ایمیل به آدرس ایمیل ورودی شما ارسال می شود ، هر پیوست به طور خودکار در پوشه مشخص شده Google Drive شما ذخیره می شود. این سیستم از AWS Lambda ، API Gateway و Secrets Manager برای رسیدگی به آپلودهای جریان OAuth و پرونده استفاده می کند.

معماری

  • دفتر پست: ایمیل دریافت می کند و داده های پیوست را از طریق وب سایت های وب ارسال می کند
  • دروازه API: نقاط پایانی برای پاسخ به تماس OAUTH و Webhook Postmark را فراهم می کند
  • توابع لامبدا: آپلودهای جریان و پیوست OAUTH را کنترل کنید
  • مدیر اسرار: ایمن نشانه های تازه کردن OAuth را ذخیره می کند
  • Google Drive API: مقصد پیوست های ایمیل

دستورالعمل راه اندازی

1. Google Drive API Setup

1.1 به کنسول Google Cloud بروید

1.2 یک پروژه ایجاد کنید

  • روی پروژه Dropdown → پروژه جدید کلیک کنید
  • نام آن را (به عنوان مثال ، postmarkuploader)
  • روی ایجاد کلیک کنید

1.3 API Google Drive را فعال کنید

  • رفتن به API و خدماتکتابخانه
  • جستجو کنید …

چگونه من آن را ساختم

این پروژه به عنوان یک ایده ساده آغاز شد: من می خواستم پیوست ها را از طریق ایمیل استخراج کنم و آنها را به طور خودکار به Google Drive ارسال کنم. درایو این ویژگی را به صورت بومی ارائه نمی دهد. وب های ورودی پستی Postmark با روشی تمیز و قابل اعتماد برای دریافت داده های ایمیل ساختاری ، از جمله پیوست های رمزگذاری شده Base64 ، از طریق بار JSON ، این امکان را فراهم کردند.

نمودار معماری پشته CloudFormation

من از AWS CloudFormation استفاده کردم تا کل راه حل بدون سرور را در یک کلیک مستقر کنم. مقررات پشته:

  • یک Lambda Exchange Oauth Token: جریان OAUTH 2.0 را با Google انجام می دهد و یک کد مجوز برای نشانه ها را مبادله می کند. این یک پیوند Google OAuth را از طریق CloudFormation وارد می کند تا کاربران بتوانند به راحتی دسترسی پیدا کنند.
  • Lambda بارگذاری: توسط وب سایت ورودی پستی ساخته شده است. این پیوست ها را رمزگشایی می کند و آنها را با استفاده از API درایو در Google Drive کاربر تأیید شده بارگذاری می کند.
  • یک دروازه API: هدایت Google Oauth را به عملکرد Lambda Exchange Token هدایت می کند.

در اینجا نحوه عملکرد آن آورده شده است:

نمودار جریان داده نشان می دهد که چگونه پیوست ها یک وب سایت پستی را ایجاد می کنند که باعث ایجاد عملکرد لامبدا می شود که پرونده ها را در Google Drive بارگذاری می کند

برای ساده نگه داشتن کارها ، من اطمینان حاصل کردم که تجربه کاربر نیازی به اجرای کد محلی یا تنظیم سرورها ندارد. پس از استقرار پشته ، کاربر فقط نیاز دارد:

  • یک پروژه Google Cloud را تنظیم کنید.
  • الگوی CloudFormation را با اعتبار OAuth خود مستقر کنید.
  • جریان AUTH را با مراجعه به خروجی پیوند توسط پشته تکمیل کنید.
  • پیکربندی پست برای ارسال ایمیل های ورودی به عنوان بار JSON به Webhook.

تمام اعتبار و منطق در توابع Lambda AWS با استفاده از پایتون 3 و کتابخانه استاندارد محصور می شوند و وابستگی ها را حداقل نگه می دارند. توکن ها در سرویس مدیریت کلیدی آمازون ذخیره می شوند ، که به شما امکان می دهد تا ایمیل با اطمینان همه اطلاعات مورد نیاز برای تأیید اعتبار با Google Drive API را با اطمینان مدیریت کنید.

تجربه من با Postmark بسیار عالی بود ، Fature Webhook Inbound سریع و بسیار آسان است. تحویل ایمیل کامل (به علاوه قسمت ها و پیوست های تجزیه شده) از طریق HTTP در مقایسه با کار مستقیم با IMAP یا API های نظرسنجی ، صرفه جویی زیادی بود. قادر به استخراج مطالب از ایمیل به روش ساختاری ، تعدادی از پروژه ها و ابزارها را بسیار ساده تر می کند و من مشتاقانه منتظر استفاده مجدد از ویژگی های ورودی Postmark هستم!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا