آنچه در این مقاله میخوانید [پنهانسازی]
ذخیره فایل در Google Drive یکی از کاربردیترین قابلیتهایی است که میتوانید در جریانهای کاری n8n پیادهسازی کنید. بسیاری از کسبوکارها برای نگهداری تصاویر، اسناد، رسیدها یا خروجی فرایندهای تولید محتوا به یک فضای ابری امن و همیشه در دسترس نیاز دارند و Google Drive به دلیل سادگی، سرعت و امکانات مشارکتی گزینه بسیار مناسبی است. در این مقاله از مجموعه آموزش n8n در کدیتی یاد میگیرید چگونه فایلها را به صورت خودکار در Google Drive ذخیره کنید و یک سیستم مدیریت فایل حرفهای و قابل اتکا بسازید. این کار به شما اجازه میدهد برای مقاصدی مانند ذخیره فایلهای دریافتی از API، آپلود خودکار عکسهای کاربران، بایگانی اسناد یا نگهداری فایلهای گزارش از یک اتوماسیون پایدار و استاندارد استفاده کنید.
سرفصل های مقاله
- چرا ذخیره فایل در Google Drive اهمیت دارد؟
- پیش نیازهای اتصال n8n به Google Drive
- ساخت اولین فلو ذخیره فایل در Google Drive
- دریافت فایل از Webhook و ذخیره آن در Google Drive
- کد آماده برای پردازش فایل قبل از آپلود
- ذخیره فایل دانلود شده از URL در Google Drive
- ساخت سیستم مدیریت فایل خودکار
- نکات امنیتی هنگام ذخیره فایل ها
- نکات حرفه ای برای کار بهتر با Google Drive و Node های فایل
- در قسمت بعدی
چرا ذخیره فایل در Google Drive اهمیت دارد؟
Google Drive فقط یک فضای ذخیرهسازی فایل نیست. این سرویس در کنار امکاناتی مثل دسترسی از هر دستگاه، اشتراکگذاری سریع و امنیت بالا، قابلیت همکاری میانتیمی را هم فراهم میکند. اگر فایلها در فلوهای اتوماسیون شما نقش مهمی دارند، ذخیره آنها در یک فضای ابری مطمئن باعث سادهتر شدن مدیریت داده، حفظ نسخهها و جلوگیری از گم شدن اطلاعات میشود. n8n با Node اختصاصی Google Drive این امکان را فراهم میکند که فایلهای مختلف از جمله تصاویر، فایلهای PDF، خروجی گزارشها یا حتی اسناد تولیدشده در فلوهای داخلی را مستقیماً آپلود کنید. اتصال مستقل، سرعت بالا و امکان انتخاب پوشه مقصد از دیگر مزایای این روش است.
پیش نیازهای اتصال n8n به Google Drive
برای کار با Google Drive Node چند پیش نیاز ساده لازم است. ابتدا باید یک حساب گوگل فعال داشته باشید. سپس لازم است در n8n یک Credential برای Google Drive بسازید که دسترسی لازم را به حساب شما بدهد. برای این کار وارد بخش Credentials شوید، Google Drive را انتخاب کنید و با حساب گوگل خود وارد شوید. در ادامه اجازه های لازم برای مدیریت فایل ها را تایید کنید. همچنین پیشنهاد میشود ساختار پوشه بندی خود را از قبل مشخص کنید تا فلوهای n8n بتوانند فایل ها را در مسیرهای درست ذخیره کنند.
ساخت اولین فلو ذخیره فایل در Google Drive
برای شروع یک Workflow جدید بسازید. اولین بخش تعیین منبع فایل است. این فایل میتواند از چند مسیر مختلف برسد. ممکن است فایل را از طریق یک Webhook دریافت کنید، ممکن است از طریق HTTP Request یک فایل دانلود کنید یا ممکن است در خود n8n یک فایل بسازید. مهم این است که خروجی Node قبل از Google Drive باید یک فایل معتبر در اختیار شما قرار دهد. بعد از نقطه دریافت فایل، کافی است یک Node از نوع Google Drive اضافه کنید. در این Node نوع عملیات را روی Upload بگذارید. سپس باید فایل را روی فیلد File Content قرار دهید. در اکثر موارد این مقدار از مسیر {{$binary.data}} یا {{$json.file}} اعلام میشود. اگر پوشهای خاص را برای مقصد در نظر دارید، میتوانید Folder ID آن را وارد کنید.
دریافت فایل از Webhook و ذخیره آن در Google Drive
در سناریویی که بسیار رایج است، فایل از طریق فرم یا ربات ارسال میشود و Webhook Node فایل را دریافت میکند. پس از تبدیل فایل به حالت باینری، کافی است آن را به Google Drive بدهید. برای مثال کاربری تصویر پروفایل ارسال میکند و شما میخواهید آن را در پوشه user profiles ذخیره کنید. در این حالت Webhook آپلود فایل را دریافت میکند. n8n فایل را به بخش binary میفرستد و Google Drive Node آن را بارگذاری میکند. شما میتوانید در قسمت File Name نام فایل را بر اساس ورودی انتخاب کنید و آن را در پوشه دلخواه ذخیره کنید.
کد آماده برای پردازش فایل قبل از آپلود
اگر لازم است نام فایل را استاندارد کنید یا داده اضافی را حذف کنید میتوانید از Function Node استفاده کنید. مثال زیر یک نام فایل تمیز تولید میکند و در خروجی قرار میدهد.
// Ready-to-run for n8n v1.8+
// Expects binary file under "data"
const original = $binary.data.fileName || "file";
const clean = original.replace(/\s+/g, "_").toLowerCase();
return [
{
json: { fileName: clean },
binary: { data: $binary.data }
}
];
این کد باعث میشود نام فایل منظم، شمرده و استاندارد باشد و مشکلات بعدی در Google Drive کمتر شود.
ذخیره فایل دانلود شده از URL در Google Drive
گاهی فایل از یک API خارجی دانلود میشود. برای این کار کافی است یک Node از نوع HTTP Request اضافه کنید و گزینه Download را فعال کنید تا فایل به صورت binary دریافت شود. سپس Node Google Drive را به آن وصل کنید و فایل را ذخیره کنید. این روش برای دانلود گزارشها، ذخیره تصاویر محصول، گرفتن بکاپ محتوا یا حتی بایگانی دورهای اسناد بسیار کاربردی است.
ساخت سیستم مدیریت فایل خودکار
با ترکیب چند Node ساده میتوانید یک سیستم کامل مدیریت فایل بسازید. برای مثال میتوانید بر اساس نوع فایل آن را در پوشه مناسب ذخیره کنید. یا هر روز یک گزارش جدید بسازید و در پوشهای که تاریخ بندی شده است آپلود کنید. همچنین میتوانید فایل آپلود شده را برای ارزیابی یا پردازش بیشتر به ابزارهای دیگر بفرستید. این کار باعث میشود فلوهای n8n به جای انجام وظیفه ای ساده، یک اتوماسیون کامل و کاربردی برای مدیریت فایل باشند. استفاده از شرط، ساخت پوشههای داینامیک و تنظیم متادیتا از دیگر تکنیکهای حرفهای این بخش هستند.
نکات امنیتی هنگام ذخیره فایل ها
در هنگام ذخیره فایل در Google Drive باید به امنیت توجه ویژه داشته باشید. بهتر است از Credential اختصاصی استفاده کنید و دسترسی ها را فقط در حد لازم بدهید. اگر می خواهید فایل ها عمومی نباشند، در قسمت Permission هیچ سطح اشتراک گذاری باز نگذارید. همچنین پیشنهاد می شود در Workflow نام فایل بر اساس timestamp ساخته شود تا فایل های کاربران تصادفاً بازنویسی نشوند. توجه به محدودیت های API نیز اهمیت زیادی دارد. بهتر است فایل های بزرگ را همیشه با تست اولیه ارسال کنید.
نکات حرفه ای برای کار بهتر با Google Drive و Node های فایل
برای استفاده بهینه از Google Drive Node توصیه های عملی زیادی وجود دارد. همیشه قبل از آپلود فایل، آن را با Function Node بررسی کنید. پوشه ها را قبل از آپلود بسازید و ID آنها را ثبت کنید. در صورتی که قصد نسخه بندی دارید، نام فایل را شامل تاریخ و زمان کنید. برای فایل هایی که متنی هستند میتوانید از Buffer Encoding استفاده کنید. همچنین اگر فایل های حجیم دارید، فرآیندهای پارت بندی، فشرده سازی و انتقال مرحله ای بسیار مفید هستند. این کار باعث افزایش کارایی و کاهش زمان اجرای Workflow میشود.
در قسمت بعدی
در قسمت بعد یاد میگیریم چگونه با استفاده از Slack Node پیامهای خودکار ارسال کنیم و یک سیستم اطلاع رسانی حرفهای برای تیم بسازیم.






