پرش به محتوای اصلی
آموزش و راهنما

اتصال n8n به گوگل شیت؛ آموزش ۰ تا ۱۰۰ اتوماسیون داده

از ساخت Service Account در Google Cloud تا دو سناریوی واقعی: خواندن از گوگل شیت و ارسال به تلگرام، و ثبت خودکار داده در شیت — آموزش ۰ تا ۱۰۰ و قدم‌به‌قدم، بدون کدنویسی.

۲۰ دقیقه مطالعه
اشتراک‌گذاری:
لوگوی رسمی n8n — منبع: مخزن رسمی n8n در گیت‌هاب
لوگوی رسمی n8n — منبع: مخزن رسمی n8n در گیت‌هاب
فهرست مطالب

با این آموزش، n8n را به گوگل شیت وصل می‌کنی و دو اتوماسیون واقعی می‌سازی: یکی که هر صبح ردیف‌های تازهٔ شیت را می‌خواند و خلاصه‌شان را به تلگرام می‌فرستد، و یکی که هر ورودی تازه (مثلاً پیام بات) را خودش در شیت ثبت می‌کند — همه قدم‌به‌قدم، بدون حتی یک خط کدنویسی.

مسیرت این است: پروژه و Service Account در Google Cloud (یعنی یک هویت ماشینی که به‌جای تو با گوگل حرف می‌زند)، فعال‌سازی دو API، Share کردن شیت با ایمیل آن هویت، و ساخت credential در n8n. آخر هر مرحله می‌گویم چه چیزی باید ببینی تا مطمئن شوی درست پیش رفته‌ای — و جدول عیب‌یابی انتهای مطلب برای همان لحظه‌هایی است که گیر می‌کنی.

پاسخ کوتاه

  • n8n یعنی ابزار اتوماسیون متن‌باز: نودها (بلوک‌های آمادهٔ کار) را به هم وصل می‌کنی و ورک‌فلو می‌سازی؛ نسخهٔ خودمیزبان روی سیستم خودت رایگان است.

  • برای اتصال به گوگل شیت امن‌ترین راهِ بدون مرورگر، Service Account است: یک هویت ماشینی با یک فایل کلید JSON، بدون لاگین گوگل و بدون ریدایرکت.

  • در پروژهٔ Google Cloud باید دو API فعال باشد: Google Sheets API و Google Drive API (دومی برای فهرست اسناد لازم است).

  • نکته‌ای که تقریباً همه جا فراموش می‌شود: باید خودِ فایل شیت را با ایمیل سرویس‌اکانت Share کنی، وگرنه خطای 403 می‌گیری.

  • هشدار مهم ۲۰۲۵: طبق مستندات n8n، سرویس‌اکانت‌های ساخته‌شده بعد از ۱۵ آوریل ۲۰۲۵ به فایل‌های My Drive دسترسی ندارند — راه‌حلش را در مرحلهٔ ۵ می‌گویم.

اول زمینه: n8n و گوگل شیت چه ترکیبی می‌سازند؟

اگر آموزش n8n از صفر تا صد را خوانده باشی، می‌دانی n8n چیست: یک صفحهٔ خالی که در آن بلوک‌هایی به نام نود را به هم وصل می‌کنی و هر بلوک یک کار انجام می‌دهد — مثلاً «هر یک ساعت» یا «به تلگرام پیام بفرست». حالا گوگل شیت را اضافه کن: شیت می‌شود دیتابیس سبک و رایگان تو — جایی که ورک‌فلوهایت داده می‌خوانند و می‌نویسند، بدون سرور و بدون SQL.

این ترکیب به چه دردی می‌خورد؟

سه مثال واقعی: ثبت خودکار سفارش‌های فروشگاه اینستاگرامی‌ات در شیت؛ ارسال گزارش صبحگاهی به تلگرام؛ و لاگ کردن پیام‌های بات پشتیبانی برای تحلیل هفتگی. دوتای اول را در این آموزش دقیقاً می‌سازی؛ سومی هم با همان الگوست.

چرا Service Account و نه OAuth معمولی؟

با OAuth باید مرورگر باز شود و تو لاگین کنی — برای اتوماسیونی که ساعت ۳ صبح خودش اجرا می‌شود، دردسر است. Service Account یک «کاربر رباتی» با ایمیل و کلید خودش است که مستقیم با گوگل حرف می‌زند: بدون مرورگر، بدون لاگین، بدون انقضای توکن وسط شب.

پیش‌نیازها

  • n8n در حال اجرا روی سیستم خودت. اگر هنوز نصبش نکرده‌ای، در آموزش n8n از صفر تا صد قدم‌به‌قدم با Docker نصبش کرده‌ایم. خلاصه‌اش این یک دستور است (عیناً از مستندات رسمی n8n): docker run -it --rm --name n8n -p 5678:5678 -e GENERIC_TIMEZONE="Asia/Tehran" -e TZ="Asia/Tehran" -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n بعد در مرورگر برو به http://localhost:5678.

  • یک حساب گوگل (همان جیمیل معمولی کافی است) و دسترسی به Google Cloud Console در آدرس console.cloud.google.com.

  • یک گوگل شیت نمونه. یک شیت تازه بساز با سه ستون در سطر اول: نام، ایمیل، پیام — و دو ردیف نمونه زیرش بنویس. همین شیت، موش آزمایشگاهی ماست.

  • (فقط برای سناریوی اول) یک بات تلگرام. اگر نداری، در آموزش ساخت بات تلگرام با n8n با BotFather در دو دقیقه ساخته‌ایم؛ توکن بات و Chat ID را از همان‌جا بردار.

زمان لازم برای کل مسیر: حدود ۳۰ تا ۴۵ دقیقه، اگر مرحله‌به‌مرحله پیش بروی. چیزی را حدس نزن؛ هر قدم نتیجهٔ قابل‌مشاهده دارد.

مرحلهٔ ۱: ساخت پروژه در Google Cloud

هدف: یک پروژهٔ خالی بسازی که همهٔ تنظیمات بعدی (APIها، سرویس‌اکانت، کلید) زیر چتر آن جمع شوند. در گوگل‌کلاد، «پروژه» یعنی یک پوشهٔ منطقی برای هر کاری که می‌کنی — بدون پروژه، هیچ‌کدام از قدم‌های بعد ممکن نیست.

اقدام دقیق: برو به console.cloud.google.com و با حساب گوگلت وارد شو. بالای صفحه، کنار لوگوی گوگل‌کلاد، یک منوی کشویی نام پروژه را نشان می‌دهد (اگر تازه‌کار هستی، چیزی شبیه «My First Project» می‌بینی). روی همان منو کلیک کن، بعد New project را بزن، یک Project name به انگلیسی وارد کن (مثلاً n8n-sheets-demo) و Create را بزن. چند ثانیه صبر کن تا اعلان «پروژه ساخته شد» بیاید، بعد از همان منوی کشویی مطمئن شو پروژهٔ تازه‌ات انتخاب شده است.

تصویر زیر همان منوی انتخاب پروژه را در کنسول نشان می‌دهد (از مستندات رسمی n8n) — دقیقاً همان‌جایی که باید پروژه‌ات را ببینی:

اسکرین‌شات منوی انتخاب پروژه در Google Cloud Console — منبع: مستندات رسمی n8n

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

نکته: ساخت پروژه و همهٔ کارهای این آموزش در سهمیهٔ رایگان گوگل‌کلاد است؛ نیازی به کارت بانکی نیست.

مرحلهٔ ۲: فعال‌سازی Google Sheets API و Google Drive API

هدف: به پروژه‌ات اجازه بدهی با گوگل شیت حرف بزند. API یعنی درِ ورودی برنامه‌نویسی یک سرویس؛ تا این در باز نباشد، n8n هرچه صدا بزند جوابی نمی‌گیرد.

اقدام دقیق: در کنسول، از منوی سمت چپ (سه خط بالای صفحه) برو به APIs & Services و بعد Library. در کادر جست‌وجو بنویس Google Sheets API، روی نتیجه کلیک کن و دکمهٔ آبی ENABLE را بزن. صبر کن تا دکمه به «Manage» تبدیل شود — یعنی فعال شد. حالا همین کار را دقیقاً برای Google Drive API تکرار کن: جست‌وجو، انتخاب، ENABLE.

نتیجهٔ موردانتظار: هر دو API در فهرست «Enabled APIs» پروژه‌ات دیده می‌شوند.

چرا درایو هم لازم است؟ طبق مستندات n8n، گزینهٔ «انتخاب سند از فهرست» (From list) فهرست فایل‌ها را از درایو می‌خواند و حذف اسپردشیت هم از متد files.delete درایو استفاده می‌کند. اگر خاموش باشد، موقع انتخاب سند به خطای 403 می‌خوری — پس همین حالا روشنش کن.

مرحلهٔ ۳: ساخت Service Account

هدف: همان «هویت ماشینی» را بسازی که n8n با آن به‌جای تو وارد گوگل می‌شود.

اقدام دقیق: در کنسول برو به APIs & Services و بعد Credentials. بالای صفحه روی + Create credentials کلیک کن و Service account را انتخاب کن. در فیلد Service account name یک نام انگلیسی بنویس (مثلاً n8n-sheets-bot)؛ کنسول خودش بر اساس آن یک Service account ID می‌سازد. روی Create and continue کلیک کن. در صفحهٔ بعد، بخش انتخاب نقش (role) را می‌بینی — لازم نیست نقشی انتخاب کنی؛ هر دو مستندات گوگل و n8n می‌گویند این مرحله اختیاری است. فقط Done را بزن.

نتیجهٔ موردانتظار: در فهرست سرویس‌اکانت‌ها یک ردیف تازه می‌بینی با ایمیلی به این شکل: n8n-sheets-bot@…iam.gserviceaccount.com. همین ایمیل، شناسنامهٔ ربات توست — آن را یک‌جا کپی و نگه دار، در مرحلهٔ ۵ لازمش داری.

نکته: سرویس‌اکانت تازه ممکن است تا یک دقیقه طول بکشد تا شناخته شود (تأخیری که گوگل در مستنداتش ذکر کرده)؛ اگر بلافاصله خطا گرفتی، کمی صبر کن.

مرحلهٔ ۴: ساخت کلید JSON (گذرنامهٔ ربات)

هدف: یک فایل کلید بگیری که n8n با آن خودش را به‌عنوان همین سرویس‌اکانت به گوگل معرفی می‌کند.

اقدام دقیق: در همان صفحهٔ Credentials (یا از مسیر IAM & Admin و بعد Service Accounts) روی آدرس ایمیل سرویس‌اکانتی که ساختی کلیک کن تا صفحهٔ جزئیاتش باز شود. تب Keys را باز کن، منوی Add key را بزن و Create new key را انتخاب کن. در پنجرهٔ بازشو، Key type را روی JSON بگذار و Create را بزن. فایل JSON همان لحظه روی کامپیوترت دانلود می‌شود.

نتیجهٔ موردانتظار: یک فایل .json در دانلودهایت داری که داخلش client_email و private_key دیده می‌شود.

سه هشدار جدی: این فایل فقط یک‌بار دانلود می‌شود (گمش کنی باید کلید تازه بسازی)؛ هر سرویس‌اکانت حداکثر ۱۰ کلید دارد؛ و مثل رمز عبور است — هیچ‌جای عمومی آپلودش نکن و فقط روی سیستم خودت نگهش دار.

مرحلهٔ ۵: Share کردن شیت با ایمیل سرویس‌اکانت (قدم فراموش‌شده)

هدف: به ربات اجازهٔ دیدن و نوشتن در شیت نمونه‌ات را بدهی. سرویس‌اکانت به‌طور پیش‌فرض به هیچ فایلی دسترسی ندارد — حتی فایل‌های خودت.

اقدام دقیق: ایمیلی که در مرحلهٔ ۳ کپی کردی بردار. در Google Drive روی فایل شیت نمونه‌ات راست‌کلیک کن (یا داخل خود شیت، دکمهٔ Share بالای صفحه) و ایمیل سرویس‌اکانت را در کادر Add people and groups بچسبان. سطح دسترسی را Editor بگذار (یعنی خواندن و نوشتن؛ اگر فقط خواندن می‌خواستی Viewer کافی بود) و Send را بزن. تیک «Notify people» را می‌توانی برداری — لازم نیست به یک ربات ایمیل خوش‌آمد بفرستی.

نتیجهٔ موردانتظار: در پنجرهٔ Share، ایمیل سرویس‌اکانت را با برچسب Editor در فهرست دسترسی‌ها می‌بینی.

⚠️ هشدار مهم (مستندات n8n، به‌روزرسانی ۲۰۲۵): گوگل از ۱۵ آوریل ۲۰۲۵ به بعد به سرویس‌اکانت‌های تازه‌ساخته‌شده اجازهٔ دسترسی به فایل‌های My Drive را نمی‌دهد — حتی اگر آن فایل را Share کرده باشی. راه‌حل رسمی که مستندات n8n پیشنهاد می‌کند: شیت را داخل یک Shared Drive بساز و همان را Share کن. اگر حساب گوگل‌ت شخصی است و Shared Drive نداری، نگران نباش: در بخش «راه جایگزین» همین آموزش، مسیر OAuth2 را گفته‌ام که با حساب شخصی هم روی My Drive کار می‌کند.

خطای رایج: اگر Share را فراموش کنی، خطای 403 The caller does not have permission می‌گیری — تقریباً همیشه یعنی همین یک قدم جا افتاده است.

مرحلهٔ ۶: ساخت credential در n8n

هدف: کلید و ایمیل را یک‌بار در n8n ذخیره کنی تا همهٔ نودهای گوگل‌شیت از همان استفاده کنند.

اقدام دقیق: در n8n از منوی سمت چپ به Credentials برو و New را بزن؛ Google Sheets را جست‌وجو کن و احراز هویت Service Account را انتخاب کن (نه OAuth2). فایل JSON را با ویرایشگر متن باز کن: مقدار client_email را در Service Account Email و مقدار private_key را در Private Key بچسبان — علامت " ابتدا و انتها را نبر. بعد Save.

نتیجهٔ موردانتظار: credential با تیک سبز ذخیره می‌شود. برای اطمینان، در یک ورک‌فلوی خالی نود Google Sheets بگذار و همین credential را در Credential to connect with انتخاب کن — نباید خطایی ببینی.

نکتهٔ نسخه‌ها: اگر n8n تو قدیمی‌تر از نسخهٔ 0.156.0 است، باید کاراکترهای \n داخل کلید را دستی به خط جدید واقعی تبدیل کنی؛ در نسخه‌های جدید لازم نیست — مستقیم بچسبان.

مرحلهٔ ۷: سناریوی اول — از شیت بخوان، به تلگرام بفرست

هدف: یک ورک‌فلو بسازی که ردیف‌های شیت را می‌خواند و هر کدام را به‌صورت یک پیام تلگرام می‌فرستد. این همان الگوی «گزارش صبحگاهی» است.

اقدام دقیق: یک ورک‌فلوی تازه بساز و این سه نود را پشت سر هم بچین:

  1. Manual Trigger (برای تست دستی؛ بعداً با Schedule Trigger جایگزینش می‌کنی).

  2. نود Google Sheets: Resource را Sheet Within Document و Operation را Get Row(s) بگذار و credential مرحلهٔ ۶ را وصل کن. Document را By URL کن و آدرس شیت را بچسبان (ساده‌ترین راه). Sheet را By Name با نام همان شیت (معمولاً Sheet1). برای فیلتر کردن، در Options ← Filters یک Column و Value بده؛ دقت کن با فیلتر فقط اولین ردیف منطبق برمی‌گردد — برای همه، When Filter Has Multiple Matches را Return All Matches کن.

  3. نود Telegram با Operation روی Send Message: توکن باتی که در پیش‌نیازها آماده کردی را به‌عنوان credential بده، Chat ID را وارد کن و در Text چیزی شبیه این بنویس: نام: {{ $json["نام"] }} — پیام: {{ $json["پیام"] }}. این عبارت‌های داخل آکولاد، یعنی «مقدار ستون نامِ همین ردیف را بگذار اینجا».

تصویر زیر ویرایشگر n8n را نشان می‌دهد — همان بوم خالی که نودها را رویش می‌چینی و با خط به هم وصل می‌کنی (منبع: مخزن رسمی n8n):

تبلیغات
آکادمی پرامپت علی در یوتیوب
ویرایشگر n8n با یک ورک‌فلوی نمونه — منبع: مخزن رسمی n8n در گیت‌هاب

نتیجهٔ موردانتظار: نودها را یکی‌یکی با Execute step اجرا کن؛ باید در تلگرامت به‌ازای هر ردیف یک پیام بیاید — یعنی زنجیرهٔ «گوگل‌کلاد ← n8n ← تلگرام» سالم است.

نکته: n8n سطر اول را عنوان فرض می‌کند و در خروجی برنمی‌گرداند؛ عنوان‌ها را سطر اول نگه دار و داده را از سطر دوم بنویس.

مرحلهٔ ۸: سناریوی دوم — هر ورودی تازه را خودش در شیت ثبت کند

هدف: جهت را برعکس کنی: این‌بار n8n داده می‌گیرد (مثلاً از یک پیام تلگرام یا یک فرم) و آن را به‌عنوان ردیف تازه به انتهای شیت اضافه می‌کند. این الگوی «لاگ خودکار» است.

اقدام دقیق: یک ورک‌فلوی تازه بساز: نود اول Telegram Trigger با همان بات (جزئیات اتصال در آموزش ساخت بات تلگرام با n8n هست). نود دوم Google Sheets با Resource روی Sheet Within Document و Operation روی Append Row — یعنی «ردیف تازه به انتهای شیت اضافه کن». Document را By URL و Sheet را By Name بده. حالا مهم‌ترین فیلد: Mapping Column Mode — Map Each Column Manually یعنی برای هر ستون خودت مقدار را مشخص می‌کنی (مثلاً ستون «نام» ← نام فرستندهٔ پیام)؛ Map Automatically یعنی n8n خودش فیلدها را با ستون‌ها تطبیق می‌دهد، به شرطی که نام‌ها عیناً یکی باشند.

نتیجهٔ موردانتظار: به بات تلگرامت یک پیام بده، ورک‌فلو را اجرا کن (یا اگر Trigger را فعال کرده‌ای خودش اجرا می‌شود) و بعد شیت را باز کن: یک ردیف تازه در انتهای آن نشسته است.

خطای رایج: اگر نام ستون‌ها را عوض کنی، نود خطا می‌دهد؛ دوباره Mapping Column Mode را انتخاب کن تا رفرش شوند. و اگر حالت خودکار مقداری را اشتباه انداخت، در Options گزینهٔ Handling extra fields in input را Ignore Them کن.

مرحلهٔ ۹: زمان‌بندی و روشن نگه داشتن اتوماسیون

هدف: ورک‌فلو از حالت «با دست اجرا می‌شود» به «خودش سر ساعت اجرا می‌شود» برود.

اقدام دقیق: نود Manual Trigger را با Schedule Trigger جایگزین کن؛ Trigger Interval را مثلاً Every Hour یا Every Day با ساعت تهران بگذار. بعد کلید Active بالای ویرایشگر را روشن کن و Save بزن.

نتیجهٔ موردانتظار: کلید Active سبز می‌شود؛ از این به بعد n8n سر ساعت خودش ورک‌فلو را اجرا می‌کند، حتی اگر مرورگر بسته باشد.

نکته: اگر n8n را با دستور docker run بدون پرچم -d اجرا کرده‌ای، با بستن ترمینال n8n خاموش می‌شود و اتوماسیونت هم می‌خوابد. برای اجرای دائمی در پس‌زمینه، همان دستور را با -d (مخفف detached) اجرا کن.

اگر با خطای دسترسی مواجه شدی: راه جایگزین با OAuth2

طبق مستندات n8n، سرویس‌اکانت‌های تازه (بعد از ۱۵ آوریل ۲۰۲۵) به فایل‌های My Drive دسترسی ندارند. اگر حساب گوگل‌ت شخصی است و Shared Drive نداری، از OAuth2 استفاده کن: n8n با هویت خودِ تو وارد می‌شود و شیت داخل My Drive بدون Share اضافه کار می‌کند.

تفاوتش فقط در ساخت credential است: نوع OAuth2 را انتخاب می‌کنی، یک OAuth client در صفحهٔ Credentials گوگل‌کلاد می‌سازی و OAuth Redirect URLای که n8n می‌دهد را عیناً در Authorized redirect URIs کنسول ثبت می‌کنی (روی سیستم خودت معمولاً http://localhost:5678/rest/oauth2-credential/callback). بقیهٔ مسیر — نودها و فیلدها — همان سناریوهای ۷ و ۸ است. (ورود یک‌کلیکهٔ «Sign in with Google» یا همان Managed OAuth2 فقط برای n8n Cloud است.)

عیب‌یابی: خطا ← راه‌حل

جدول زیر رایج‌ترین خطاهایی است که کاربران در همین مسیر می‌بینند — علت و راه‌حل هر کدام از مستندات رسمی n8n و گوگل آمده است:

خطا / نشانه

علت

راه‌حل

403 The caller does not have permission

شیت با ایمیل سرویس‌اکانت Share نشده

مرحلهٔ ۵ را تکرار کن: Share ← ایمیل سرویس‌اکانت ← Editor

403 …Sheets API has not been used… or it is disabled

Google Sheets API فعال نیست

APIs & Services ← Library ← جست‌وجوی Google Sheets API ← ENABLE

403 …Drive API has not been used…

Google Drive API فعال نیست (برای From list یا حذف سند)

همان مسیر برای Google Drive API

خطای کلید نامعتبر / JWT (مثل Invalid JWT Signature)

کلید با علامت " کپی شده یا \nها خراب شده‌اند

بدون " ابتدا و انتها بچسبان؛ در n8n قدیمی‌تر از 0.156.0، \n را به خط جدید واقعی تبدیل کن

با وجود Share باز هم دسترسی نداری

محدودیت My Drive برای سرویس‌اکانت‌های بعد از ۱۵ آوریل ۲۰۲۵

شیت را در Shared Drive بساز، یا به OAuth2 مهاجرت کن (بخش قبل)

403 quotaExceeded / 429 rateLimitExceeded

عبور از سهمیهٔ Sheets API

در کنسول: APIs & Services ← Quotas را چک کن؛ درخواست‌ها را بچ‌دار و با فاصله بفرست

خطای «column names were updated»

نام ستون‌های شیت بعد از تنظیم نود عوض شده

دوباره Mapping Column Mode را انتخاب کن تا ستون‌ها رفرش شوند

فایل کلید JSON را گم کرده‌ای

کلید فقط یک‌بار دانلود می‌شود

کلید قدیمی را از تب Keys حذف کن و Create new key بزن


اگر خطایت در جدول نیست، متنش را در انجمن رسمی n8n (community.n8n.io) جست‌وجو کن — تقریباً همیشه کسی قبل از تو به همان خطا خورده است.

Service Account یا OAuth2؟ کدام برای تو؟

هر دو رسماً پشتیبانی می‌شوند (مستندات n8n برای هر دو تیک زده):

معیار

Service Account

OAuth2

لاگین مرورگری

ندارد — فقط ایمیل و کلید

دارد — یک‌بار لاگین با حساب گوگل

دسترسی به My Drive (حساب شخصی)

برای سرویس‌اکانت‌های تازه محدود است

کامل — با هویت خودت وارد می‌شود

مناسب برای اجرای خودکار شبانه

عالی — توکن منقضی نمی‌شود

خوب — ولی توکن نیاز به تمدید دارد

تنظیمات اضافه در خودمیزبان

هیچ

ثبت OAuth Redirect URL در کنسول گوگل

اشتراک‌گذاری لازم

بله — Share شیت با ایمیل ربات

نه — شیت مال خودت است

قاعدهٔ سرانگشتی: اگر شیت داخل Shared Drive داری یا می‌خواهی اتوماسیون کاملاً بدون دخالت دست کار کند، Service Account؛ اگر حساب شخصی داری و می‌خواهی سریع روی My Drive خودت شروع کنی، OAuth2.

نکته‌های پیشرفته

  • Append or Update Row را بشناس: اگر ردیفی با همان کلید پیدا کند به‌روزرسانی‌اش می‌کند، وگرنه ردیف تازه می‌سازد — برای سناریوی «اگر سفارش بود به‌روزرسان، اگر نبود بساز» عالی است. فقط Update Row به‌تنهایی ردیف تازه نمی‌سازد.

  • در Get Row(s) با Output Formatting در Options می‌توانی خروجی را تمیز کنی: Values (unformatted) (پیش‌فرض)، Values (formatted) یا Formulas. اگر تاریخ‌ها عجیب آمدند، حالتش را عوض کن.

  • گزینهٔ Use Append در عملیات نوشتن از endpoint رسمی append گوگل استفاده می‌کند: سریع‌تر است و API کمتری صدا می‌زند، ولی اگر داده‌هایت گپ یا ناهماهنگی دارند ممکن است ردیف را جای اشتباه بنویسد — برای شیت‌های حساس خاموش نگهش دار.

  • از credentialهایت بکاپ بگیر: در n8n از بخش Credentials می‌توانی آن‌ها را export کنی. اگر والیوم داکر را پاک کنی و بکاپ نداشته باشی، باید همهٔ کلیدها را از اول بسازی.

نکته‌ای برای خوانندهٔ فارسی‌زبان

کل این مسیر — از n8n خودمیزبان رایگان تا ساخت پروژهٔ گوگل‌کلاد و صدا زدن Sheets API در سهمیهٔ رایگان — هزینه‌ای ندارد و کارت بانکی لازم نیست؛ n8n Cloud برای این آموزش اصلاً لازم نیست. دربارهٔ ساخت حساب Google Cloud، شرایط سرویس گوگل برای منطقه‌ات را در صفحهٔ رسمی‌اش بررسی کن. و یک نکتهٔ زبانی: ستون‌های فارسی مشکلی ندارند، فقط در Map Automatically نام فیلد باید عیناً با نام ستون یکی باشد — حتی یک نیم‌فاصلهٔ اضافه تطبیق را خراب می‌کند.

جمع‌بندی

حالا یک پل واقعی بین n8n و گوگل شیت داری: پروژه، سرویس‌اکانت با کلید JSON، دو API فعال، شیتِ Shareشده و یک credential سالم — به‌علاوهٔ دو سناریو که الگوی بیشتر اتوماسیون‌های داده‌اند: «خواندن و اطلاع‌رسانی» و «گرفتن و ثبت». قدم بعدی با توست: سناریوی دوم را به بات تلگرامت وصل کن و لاگ خودکار بساز، یا برگرد به آموزش صفر تا صد و بعد با همین credential سراغ Google Docs و Drive در n8n برو.

سؤال‌های پرتکرار

آیا برای این آموزش کدنویسی لازم است؟

نه. همه‌چیز با رابط گرافیکی n8n است: نود را می‌کشی، فیلد را پر می‌کنی، وصل می‌کنی. تنها «کد»، یک دستور داکر آماده و عبارتی مثل {{ $json["نام"] }} است که از همین آموزش کپی می‌کنی.

فرق Service Account با OAuth2 در یک جمله چیست؟

Service Account یک «کاربر رباتی» مستقل با کلید خودش است و بدون مرورگر کار می‌کند؛ با OAuth2، n8n با هویت خودِ تو و بعد از یک لاگین مرورگری وارد می‌شود.

چرا با وجود Share کردن، خطای 403 می‌گیرم؟

به ترتیب چک کن: APIها فعال‌اند؟ ایمیل را درست کپی کرده‌ای؟ و اگر سرویس‌اکانتت تازه است و شیت در My Drive است، بخش «راه جایگزین» را ببین.

آیا n8n واقعاً رایگان است؟

نسخهٔ خودمیزبان (Community edition) روی سیستم خودت رایگان است — به گفتهٔ مستندات n8n، بدون کلید لایسنس هم همان محصول کامل اجرا می‌شود. فقط n8n Cloud پلن پولی دارد.

فایل کلید JSON را گم کردم؛ چه کنم؟

نمی‌توانی همان را دوباره دانلود کنی. در کنسول به صفحهٔ سرویس‌اکانت برو، تب Keys، کلید قدیمی را حذف کن و با Create new key یک کلید تازه بساز — بعد credential را در n8n با کلید تازه به‌روزرسانی کن.

ستون‌های شیتم فارسی است؛ مشکلی پیش می‌آید؟

نه؛ فقط در Map Automatically نام فیلد باید عیناً با نام ستون یکی باشد — نیم‌فاصله را هم چک کن. اگر تطبیق نشد، دستی (Map Each Column Manually) وصل کن.

چند ردیف می‌توانم بخوانم یا بنویسم؟ محدودیتی هست؟

برای چند اتوماسیون شخصی در سهمیهٔ رایگان جا می‌شوی. اگر به سقف خوردی (خطای 429)، در کنسول از APIs & Services ← Quotas سهمیه را ببین و درخواست‌ها را با فاصله بفرست.

می‌توانم همین credential را برای Google Docs هم استفاده کنم؟

بله. credential گوگل در n8n بین نودهای مختلف گوگل مشترک است؛ فقط مطمئن شو API مربوط به آن سرویس (مثلاً Google Docs API) هم در پروژه‌ات فعال باشد.

منابع

برچسب‌ها:هوش مصنوعیبرنامه‌نویسیتلگرامخودکارسازی
اشتراک‌گذاری:

مطالب مرتبط

عضویت در خبرنامه

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

پس از عضویت یک ایمیل تأیید برایتان ارسال می‌شود. هر زمان می‌توانید اشتراک خود را لغو کنید و ایمیل شما با شخص ثالثی به اشتراک گذاشته نمی‌شود.