نود Microsoft OneDrive در N8N
نود Microsoft OneDrive در N8N برای اتصال مستقیم ورکفلوها به فضای ذخیرهسازی ابری OneDrive استفاده میشود. با این نود میتوانید فایلها را آپلود، دانلود، جستجو، حذف، کپی و مدیریت کنید و همچنین پوشههای موردنیاز خود را بهصورت خودکار بسازید یا بررسی کنید. این نود برای ساخت اتوماسیونهای مرتبط با فایل، بکاپ، آرشیو اسناد، پردازش فایلهای دریافتی و اتصال بین سرویسهای مختلف بسیار کاربردی است.
معرفی نود در N8N
Microsoft OneDrive یکی از نودهای Integration در N8N است که از طریق Microsoft Graph API به حساب OneDrive یا OneDrive for Business متصل میشود. این نود به شما اجازه میدهد بدون نیاز به کدنویسی مستقیم با API مایکروسافت، عملیات رایج روی فایلها و پوشهها را انجام دهید.
- نام نود: Microsoft OneDrive
- دستهبندی: Integration / Action
- نوع عملکرد: اجرای عملیات روی فایلها و پوشهها در OneDrive
- نیازمندی اصلی: اتصال OAuth2 به حساب Microsoft
- کاربرد اصلی: مدیریت خودکار فایلها، پوشهها، دانلود، آپلود و اشتراکگذاری دادهها در ورکفلوهای N8N
اهمیت این نود زمانی مشخص میشود که بخواهید فایلهایی را از سرویسهای دیگر مثل Gmail، Telegram، Google Sheets، HTTP Request، فرمها یا CRM دریافت کرده و بهصورت ساختاریافته در OneDrive ذخیره کنید. همچنین میتوانید فایلهای موجود در OneDrive را دانلود کرده و برای پردازش به نودهای دیگر مانند Spreadsheet File، Code، AI Agent یا Email ارسال کنید.
موارد استفاده
۱. ذخیره خودکار فایلهای دریافتی از ایمیل در OneDrive
یکی از کاربردهای رایج این نود، ذخیره پیوستهای ایمیل در OneDrive است. برای مثال، میتوانید با نود Gmail Trigger ایمیلهای جدید را دریافت کنید، پیوستها را استخراج کنید و سپس با نود Microsoft OneDrive آنها را در پوشهای مشخص ذخیره کنید.
- Gmail Trigger برای دریافت ایمیل جدید
- IF برای بررسی وجود Attachment
- Microsoft OneDrive برای آپلود فایل
- Microsoft Teams یا Slack برای ارسال پیام موفقیتآمیز بودن ذخیرهسازی
۲. ساخت آرشیو روزانه از گزارشها
اگر هر روز فایلهای گزارش از یک API، نرمافزار حسابداری یا سیستم داخلی دریافت میکنید، میتوانید آنها را به شکل خودکار در OneDrive ذخیره کنید. برای نظم بیشتر، میتوان پوشهها را بر اساس تاریخ ایجاد کرد.
- Schedule Trigger برای اجرای روزانه ورکفلو
- HTTP Request برای دریافت فایل گزارش
- Date & Time برای ساخت نام پوشه بر اساس تاریخ
- Microsoft OneDrive برای ساخت پوشه و آپلود فایل
۳. دانلود فایل از OneDrive و پردازش محتوای آن
میتوانید یک فایل Excel یا CSV را از OneDrive دانلود کنید و دادههای آن را وارد ورکفلو کنید. سپس با نود Spreadsheet File اطلاعات را بخوانید و در Google Sheets، Airtable، PostgreSQL یا یک CRM ذخیره کنید.
- Microsoft OneDrive برای دانلود فایل
- Spreadsheet File برای خواندن فایل Excel یا CSV
- Set یا Code برای پاکسازی دادهها
- Database Node برای ذخیره دادهها
۴. ساخت سیستم بکاپ فایل
با ترکیب نودهای مختلف، میتوانید فایلهای تولیدشده توسط سیستمهای دیگر را به OneDrive منتقل کنید. برای مثال، خروجی PDF فاکتورها، گزارشهای فروش، فایلهای لاگ یا بکاپهای دیتابیس را در OneDrive ذخیره کنید.
- Execute Command برای تولید بکاپ
- Read/Write Files from Disk برای خواندن فایل
- Microsoft OneDrive برای آپلود فایل بکاپ
- Email یا Telegram برای ارسال وضعیت بکاپ
۵. همگامسازی فایل بین چند سرویس
اگر فایلها در Google Drive، Dropbox، FTP یا یک API خارجی قرار دارند، میتوانید آنها را با OneDrive همگام کنید. این کار برای تیمهایی که از چند فضای ذخیرهسازی استفاده میکنند بسیار مفید است.
- Google Drive برای دریافت فایل
- Microsoft OneDrive برای ذخیره فایل در مسیر جدید
- Merge برای ترکیب اطلاعات چند منبع
- IF برای جلوگیری از آپلود فایل تکراری
پارامترها و تنظیمات
پارامترهای نود Microsoft OneDrive بسته به نسخه N8N و عملیاتی که انتخاب میکنید ممکن است کمی متفاوت باشد، اما ساختار اصلی آن معمولاً بر اساس Resource و Operation تنظیم میشود. ابتدا نوع منبع مانند File، Folder یا Drive را انتخاب میکنید و سپس عملیات موردنظر را مشخص میکنید.
Credentials
- نام پارامتر: Microsoft OneDrive OAuth2 API
- نوع داده: Credential
- توضیح کاربرد: برای اتصال امن N8N به حساب Microsoft و دسترسی به OneDrive استفاده میشود.
- مثال عملی: اتصال حساب Microsoft 365 شرکت برای ذخیره خودکار فاکتورهای فروش در OneDrive.
- نکته مهم: اتصال معمولاً از طریق OAuth2 انجام میشود و باید دسترسیهای لازم مانند خواندن و نوشتن فایلها به N8N داده شود.
Resource
- نام پارامتر: Resource
- نوع داده: Options
- توضیح کاربرد: مشخص میکند عملیات روی چه نوع منبعی انجام شود.
- مقادیر رایج: File، Folder، Drive
- مثال عملی: اگر میخواهید یک PDF را آپلود کنید، Resource را روی File قرار دهید. اگر میخواهید پوشه ماه جاری را بسازید، Resource را روی Folder قرار دهید.
Operation
- نام پارامتر: Operation
- نوع داده: Options
- توضیح کاربرد: مشخص میکند چه کاری روی Resource انتخابشده انجام شود.
- مثال عملی: برای ارسال فایل به OneDrive از Upload استفاده کنید، برای دریافت فایل از Download و برای حذف فایل از Delete.
Drive
- نام پارامتر: Drive
- نوع داده: Options / String
- توضیح کاربرد: مشخص میکند عملیات روی کدام Drive انجام شود. در بسیاری از حسابها مقدار پیشفرض همان OneDrive اصلی کاربر است.
- مثال عملی: انتخاب OneDrive شخصی کاربر یا یک Drive مربوط به سازمان در Microsoft 365.
- نکته مهم: در محیطهای سازمانی ممکن است چند Drive یا SharePoint Drive در دسترس باشد. سطح دسترسی حساب متصلشده تعیین میکند چه Driveهایی قابل مشاهده باشند.
File ID
- نام پارامتر: File ID
- نوع داده: String
- توضیح کاربرد: شناسه یکتای فایل در OneDrive است و برای عملیاتهایی مانند دانلود، حذف، دریافت اطلاعات، کپی یا اشتراکگذاری استفاده میشود.
- مثال عملی: بعد از اجرای عملیات Search، مقدار id فایل را بردارید و در نود بعدی برای Download استفاده کنید.
- نکته مهم: File ID با نام فایل متفاوت است. تغییر نام فایل معمولاً ID را تغییر نمیدهد.
Folder ID
- نام پارامتر: Folder ID
- نوع داده: String
- توضیح کاربرد: شناسه پوشه مقصد یا پوشهای که میخواهید عملیات روی آن انجام شود.
- مثال عملی: آپلود تمام فاکتورهای PDF در پوشهای با Folder ID مشخص.
- نکته مهم: برای جلوگیری از خطا، ابتدا پوشه را با عملیات Search یا Get Children پیدا کنید و سپس ID آن را به عملیات Upload بدهید.
Parent Folder
- نام پارامتر: Parent Folder
- نوع داده: String / Options
- توضیح کاربرد: مشخص میکند فایل یا پوشه جدید در کدام پوشه والد ایجاد شود.
- مثال عملی: ساخت پوشه 2026-01 داخل پوشه Reports.
- نکته مهم: اگر پوشه والد وجود نداشته باشد، عملیات ایجاد یا آپلود ممکن است با خطای Not Found متوقف شود.
File Name
- نام پارامتر: File Name
- نوع داده: String
- توضیح کاربرد: نام فایل هنگام آپلود یا کپی را تعیین میکند.
- مثال عملی: invoice-{{$json.invoice_id}}.pdf
- نکته مهم: از کاراکترهای غیرمجاز در نام فایل استفاده نکنید. بهتر است نام فایلها را با تاریخ، شناسه مشتری یا شماره سند یکتا کنید.
Folder Name
- نام پارامتر: Folder Name
- نوع داده: String
- توضیح کاربرد: نام پوشهای که باید ایجاد شود.
- مثال عملی: Reports-{{$now.format(‘yyyy-MM’)}}
- نکته مهم: برای ایجاد ساختار منظم، نام پوشهها را بر اساس سال، ماه، دپارتمان یا نام پروژه انتخاب کنید.
Binary Property
- نام پارامتر: Binary Property
- نوع داده: String
- توضیح کاربرد: نام فیلدی در داده باینری N8N است که فایل داخل آن قرار دارد.
- مقدار رایج: data
- مثال عملی: اگر نود HTTP Request یک فایل PDF را در binary.data ذخیره کرده، در نود OneDrive مقدار Binary Property را برابر data قرار دهید.
- نکته مهم: اگر نام Binary Property اشتباه باشد، نود نمیتواند فایل را آپلود کند و معمولاً خطای مربوط به نبود داده باینری نمایش داده میشود.
File Content
- نام پارامتر: File Content
- نوع داده: Binary / String
- توضیح کاربرد: محتوای فایلی که باید آپلود شود. در بیشتر سناریوها این محتوا از خروجی باینری نود قبلی دریافت میشود.
- مثال عملی: خروجی PDF تولیدشده توسط نود HTML to PDF یا خروجی فایل دریافتی از Webhook.
Search Query
- نام پارامتر: Search Query
- نوع داده: String
- توضیح کاربرد: عبارتی که برای جستجوی فایل یا پوشه در OneDrive استفاده میشود.
- مثال عملی: جستجوی عبارت invoice برای پیدا کردن فایلهایی که در نام آنها invoice وجود دارد.
- نکته مهم: جستجو ممکن است بر اساس ایندکس OneDrive انجام شود و در فایلهای تازه آپلودشده گاهی با تأخیر نتیجه دهد.
Return All
- نام پارامتر: Return All
- نوع داده: Boolean
- توضیح کاربرد: مشخص میکند همه نتایج بازگردانده شوند یا فقط تعداد محدودی از آنها.
- مثال عملی: اگر میخواهید همه فایلهای یک پوشه را دریافت کنید، Return All را فعال کنید.
- نکته مهم: در پوشههای بزرگ، فعال بودن Return All میتواند زمان اجرا و مصرف منابع را افزایش دهد.
Limit
- نام پارامتر: Limit
- نوع داده: Number
- توضیح کاربرد: حداکثر تعداد آیتمهایی که باید برگردانده شوند.
- مثال عملی: دریافت 20 فایل آخر برای بررسی سریع.
- نکته مهم: اگر Return All غیرفعال باشد، Limit تعیین میکند چند نتیجه دریافت شود.
Conflict Behavior
- نام پارامتر: Conflict Behavior
- نوع داده: Options
- توضیح کاربرد: مشخص میکند اگر فایلی با نام مشابه در مقصد وجود داشت، چه رفتاری انجام شود.
- مقادیر رایج: Rename، Replace، Fail
- مثال عملی: اگر هر روز فایلی با نام report.xlsx آپلود میشود و نمیخواهید فایل قبلی حذف شود، گزینه Rename مناسب است.
- نکته مهم: استفاده از Replace میتواند فایل قبلی را بازنویسی کند، بنابراین برای فایلهای مهم با احتیاط استفاده شود.
Additional Fields / Options
- نام پارامتر: Additional Fields یا Options
- نوع داده: Collection
- توضیح کاربرد: شامل تنظیمات تکمیلی برای کنترل دقیقتر عملیات است.
- مثالهای رایج: انتخاب نام جدید فایل، تنظیم مسیر مقصد، تعیین رفتار در زمان وجود فایل تکراری، دریافت اطلاعات اضافی متادیتا.
عملیاتهای رایج برای Resource: File
- Download: دانلود فایل از OneDrive و ذخیره آن بهصورت باینری در خروجی نود.
- Upload: آپلود فایل از داده باینری N8N به OneDrive.
- Get: دریافت اطلاعات متادیتای فایل، مانند نام، شناسه، اندازه و لینکها.
- Search: جستجوی فایل بر اساس نام یا عبارت مشخص.
- Delete: حذف فایل از OneDrive.
- Copy: کپی کردن فایل به مسیر یا پوشهای دیگر.
عملیاتهای رایج برای Resource: Folder
- Create: ساخت پوشه جدید در مسیر مشخص.
- Search: جستجوی پوشهها بر اساس نام.
- Get Children: دریافت فایلها و پوشههای داخل یک پوشه.
- Delete: حذف پوشه از OneDrive.
عملیاتهای رایج برای Resource: Drive
- Get: دریافت اطلاعات یک Drive مشخص.
- Get Many / Get All: دریافت فهرست Driveهای قابل دسترس برای حساب متصلشده.
ورودیها و خروجیها
ورودیهای نود
ورودی نود Microsoft OneDrive به عملیاتی که انتخاب میکنید بستگی دارد. برای بعضی عملیاتها مانند Search یا Get فقط داده JSON کافی است، اما برای Upload معمولاً باید داده باینری از نود قبلی وارد شود.
- ورودی JSON: برای دریافت شناسه فایل، نام فایل، مسیر مقصد، نام پوشه یا پارامترهای جستجو استفاده میشود.
- ورودی Binary: برای آپلود فایل به OneDrive استفاده میشود.
- Expressionها: میتوانید مقادیر پویا مانند نام فایل، تاریخ، شناسه مشتری یا مسیر پوشه را از نودهای قبلی دریافت کنید.
نمونه ورودی برای آپلود فایل
{ "fileName": "invoice-1024.pdf", "folderId": "01ABCDEF23456789", "customerName": "Sample Customer"}در این حالت، خود فایل معمولاً در بخش binary قرار دارد و نام فیلد آن میتواند data باشد:
{ "binary": { "data": { "fileName": "invoice-1024.pdf", "mimeType": "application/pdf", "fileExtension": "pdf" } }}خروجیهای نود
خروجی این نود هم بسته به عملیات متفاوت است. عملیاتهایی مانند Get، Search و Upload معمولاً اطلاعات فایل یا پوشه را بهصورت JSON برمیگردانند. عملیات Download علاوه بر اطلاعات JSON، فایل را بهصورت Binary در خروجی قرار میدهد.
نمونه خروجی پس از آپلود فایل
{ "id": "01ABCDEF23456789", "name": "invoice-1024.pdf", "size": 248391, "webUrl": "https://onedrive.live.com/...", "createdDateTime": "2026-01-15T10:30:00Z", "lastModifiedDateTime": "2026-01-15T10:30:00Z", "file": { "mimeType": "application/pdf" }, "parentReference": { "driveId": "b!exampleDriveId", "id": "01PARENTFOLDERID", "path": "/drive/root:/Invoices" }}نمونه خروجی جستجوی فایل
[ { "id": "01FILEID001", "name": "invoice-1001.pdf", "webUrl": "https://onedrive.live.com/...", "size": 193002 }, { "id": "01FILEID002", "name": "invoice-1002.pdf", "webUrl": "https://onedrive.live.com/...", "size": 211450 }]نمونه خروجی دانلود فایل
در عملیات Download، فایل دانلودشده در بخش binary خروجی قرار میگیرد و میتوانید آن را به نودهای دیگر مانند Email Send، Spreadsheet File، Read PDF، Code یا HTTP Request منتقل کنید.
{ "json": { "id": "01FILEID001", "name": "report.xlsx" }, "binary": { "data": { "fileName": "report.xlsx", "mimeType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "fileExtension": "xlsx" } }}نکات پیشرفته و ترفندها
ساخت نام فایل پویا با Expression
برای جلوگیری از تکراری شدن فایلها، بهتر است نام فایلها را با Expression بسازید. برای مثال:
invoice-{{$json.customerId}}-{{$now.format('yyyyMMdd-HHmmss')}}.pdfاین روش باعث میشود هر فایل با شناسه مشتری و زمان دقیق ذخیره شود.
ساخت پوشههای تاریخمحور
برای آرشیو منظم، قبل از آپلود فایل یک پوشه بر اساس سال و ماه بسازید. نمونه نام پوشه:
{{$now.format('yyyy-MM')}}سپس فایلها را در پوشه همان ماه ذخیره کنید. این روش برای گزارشها، فاکتورها، لاگها و بکاپها بسیار مناسب است.
جلوگیری از آپلود فایل تکراری
برای جلوگیری از فایلهای تکراری، قبل از Upload از عملیات Search استفاده کنید. اگر فایل پیدا شد، با نود IF تصمیم بگیرید فایل جدید را آپلود نکنید، نام آن را تغییر دهید یا فایل قبلی را جایگزین کنید.
- Microsoft OneDrive Search برای جستجوی نام فایل
- IF برای بررسی خالی بودن نتیجه
- Microsoft OneDrive Upload برای آپلود فقط در صورت نبود فایل
پردازش گروهی فایلها
اگر میخواهید تعداد زیادی فایل را پردازش کنید، از نود Split In Batches یا Loop Over Items استفاده کنید. این کار باعث میشود فایلها یکییکی پردازش شوند و احتمال خطاهای مربوط به محدودیت API یا Timeout کاهش پیدا کند.
دانلود فایل و ارسال آن به ایمیل
یکی از ترکیبهای کاربردی، دانلود فایل از OneDrive و ارسال آن به عنوان Attachment در ایمیل است.
- Microsoft OneDrive Download برای دریافت فایل
- Email Send برای ارسال فایل دانلودشده
- Binary Property در هر دو نود باید هماهنگ باشد، مثلاً data
استفاده از OneDrive بهعنوان فضای موقت پردازش
در برخی ورکفلوها میتوانید فایلها را ابتدا در OneDrive ذخیره کنید، سپس لینک یا شناسه آنها را در دیتابیس نگه دارید. این روش برای فایلهایی که باید بعداً توسط کاربر یا سیستم دیگری قابل دسترسی باشند مناسب است.
ترکیب با Microsoft Teams
بعد از آپلود فایل در OneDrive، میتوانید لینک فایل را با نود Microsoft Teams در یک کانال ارسال کنید. این ترکیب برای اطلاعرسانی درباره گزارشهای جدید، قراردادها یا خروجیهای اتوماتیک کاربردی است.
بهینهسازی عملکرد
- برای پوشههای بزرگ، بهجای Return All از Limit استفاده کنید.
- فایلهای حجیم را در ساعات کمترافیک پردازش کنید.
- از Split In Batches برای کاهش فشار روی API مایکروسافت استفاده کنید.
- قبل از دانلود فایل، با Get متادیتا را بررسی کنید تا مطمئن شوید فایل درست انتخاب شده است.
- در صورت امکان، شناسه فایل یا پوشه را ذخیره کنید و بهجای جستجوی مکرر، از ID استفاده کنید.
محدودیتها و خطاها
محدودیتهای مهم
- نیاز به احراز هویت Microsoft: بدون اتصال OAuth2 معتبر، نود قابل استفاده نیست.
- محدودیت سطح دسترسی: حساب متصلشده فقط به فایلها و Driveهایی دسترسی دارد که مجوز آنها را دارد.
- محدودیت حجم فایل: آپلود فایلهای بسیار بزرگ ممکن است به محدودیتهای Microsoft Graph، تنظیمات N8N یا منابع سرور وابسته باشد.
- محدودیت نرخ درخواست: اگر تعداد زیادی درخواست در زمان کوتاه ارسال شود، Microsoft Graph ممکن است پاسخ Throttling بدهد.
- تأخیر در جستجو: فایلهایی که تازه آپلود شدهاند ممکن است بلافاصله در نتایج Search دیده نشوند.
- وابستگی به Binary Data: برای Upload و Download باید با ساختار داده باینری N8N آشنا باشید.
- تفاوت حساب شخصی و سازمانی: برخی قابلیتها در OneDrive Personal، OneDrive for Business یا SharePoint Drive ممکن است متفاوت باشند.
خطای Unauthorized یا Invalid Credentials
این خطا معمولاً زمانی رخ میدهد که اتصال OAuth2 منقضی شده، دسترسیها کافی نیست یا Credential به درستی ساخته نشده است.
- Credential را دوباره Connect کنید.
- بررسی کنید حساب Microsoft دسترسی لازم به OneDrive را دارد.
- در صورت استفاده از Microsoft Azure App، Redirect URL و Scopeها را بررسی کنید.
خطای File Not Found
این خطا زمانی رخ میدهد که File ID یا Folder ID اشتباه باشد یا فایل موردنظر حذف شده باشد.
- با عملیات Search فایل را دوباره پیدا کنید.
- مطمئن شوید ID را از خروجی درست نود قبلی برداشتهاید.
- اگر فایل در Drive دیگری قرار دارد، Drive انتخابشده را بررسی کنید.
خطای Binary Data Not Found
این خطا در عملیات Upload زمانی دیده میشود که نود انتظار فایل باینری دارد اما دادهای در فیلد موردنظر پیدا نمیکند.
- نام Binary Property را بررسی کنید.
- خروجی نود قبلی را باز کنید و ببینید فایل در binary.data است یا نام دیگری دارد.
- اگر فایل از HTTP Request میآید، گزینه دریافت پاسخ بهصورت File یا Binary را فعال کنید.
خطای Conflict یا File Already Exists
اگر فایلی با همان نام در مقصد وجود داشته باشد، ممکن است عملیات آپلود یا کپی متوقف شود.
- از Conflict Behavior استفاده کنید.
- نام فایل را با تاریخ و زمان یکتا کنید.
- قبل از آپلود، فایلهای موجود را Search کنید.
خطای Too Many Requests
این خطا به دلیل ارسال تعداد زیاد درخواست به Microsoft Graph در بازه زمانی کوتاه رخ میدهد.
- از Wait بین درخواستها استفاده کنید.
- پردازش فایلها را با Split In Batches انجام دهید.
- تعداد آیتمهای دریافتی با Return All را کاهش دهید.
خطای Access Denied
این خطا زمانی رخ میدهد که حساب متصلشده اجازه دسترسی به فایل، پوشه یا Drive موردنظر را ندارد.
- مجوزهای کاربر را در Microsoft 365 بررسی کنید.
- اگر فایل مربوط به SharePoint یا Team Drive است، دسترسی حساب را بررسی کنید.
- Credential را با حسابی بسازید که به مسیر موردنظر دسترسی دارد.
ایده ها
- سیستم آرشیو خودکار فاکتورها: دریافت فاکتور از ایمیل یا API، نامگذاری استاندارد فایل و ذخیره آن در پوشه مشتری داخل OneDrive.
- داشبورد فایلهای گزارش: دانلود روزانه گزارشهای Excel از OneDrive، پردازش آنها و ذخیره خلاصه در Google Sheets یا دیتابیس.
- بکاپ خودکار دیتابیس: اجرای بکاپ با Execute Command و آپلود فایل خروجی در OneDrive با ساختار پوشهبندی تاریخمحور.
- سیستم تأیید اسناد: آپلود سند در OneDrive، ارسال لینک به Microsoft Teams و ثبت وضعیت تأیید در Airtable یا Notion.
- مرکز ذخیره فایلهای فرم آنلاین: دریافت فایل از Webhook یا فرم، بررسی نوع فایل، تغییر نام و ذخیره در پوشه مناسب OneDrive.
