مستندات n8n
74+ نود

گوگل تسکز

Google Tasks

مدیریت ساده تسک‌ها - یکپارچه با Gmail و Google Calendar

ابزارهای کاری
مقدماتی
۰ بازدید
n8n 1.0+

نمای کلی

نود Google Tasks یک ابزار مدیریت تسک ساده و سبک است که عمیقاً با اکوسیستم Google یکپارچه شده است.

ویژگی‌های کلیدی:

  • ایجاد و مدیریت تسک‌ها با عنوان، یادداشت و تاریخ سررسید
  • ساختار لیست تسک (Task List) برای دسته‌بندی
  • پشتیبانی از زیرتسک (Subtask) با پارامتر parent
  • مرتب‌سازی تسک‌ها با پارامتر previous
  • دو وضعیت: needsAction (نیاز به انجام) و completed (تکمیل شده)
  • فیلد notes برای توضیحات و جزئیات
  • یکپارچگی با Gmail: تبدیل ایمیل به تسک
  • نمایش در سایدبار Google Calendar
  • پاکسازی تسک‌های تکمیل شده با clearCompleted

مقایسه با ابزارهای دیگر:

  • Google Tasks vs Todoist: گوگل تسکز ساده‌تر ولی رایگان و یکپارچه با Google Workspace
  • Google Tasks vs Asana: آسانا برای تیم‌های بزرگ، گوگل تسکز برای کارهای شخصی
  • Google Tasks vs Trello: ترلو بصری‌تر (Kanban)، گوگل تسکز لیست‌محور و سبک‌تر

چه زمانی از Google Tasks استفاده کنیم:

  • برنامه‌ریزی شخصی و تسک‌های روزمره
  • ردیابی ایمیل‌هایی که نیاز به پیگیری دارند
  • چک‌لیست‌های ساده بدون نیاز به مدیریت پروژه پیچیده
  • وقتی از Gmail و Google Calendar استفاده می‌کنید
  • تسک‌های سریع بدون overhead تنظیمات

قابلیت‌های API:

  • CRUD کامل برای تسک‌ها و لیست تسک‌ها
  • جابجایی و مرتب‌سازی تسک‌ها
  • پاکسازی خودکار تسک‌های انجام‌شده
  • دسترسی از طریق Google Tasks API v1

احراز هویت

احراز هویت Google Tasks

روش 1: OAuth2 (توصیه می‌شود)

#### مرحله 1: ایجاد پروژه در Google Cloud Console

  1. 1به [Google Cloud Console](https://console.cloud.google.com/) بروید
  2. 2پروژه جدید بسازید یا پروژه موجود را انتخاب کنید
  3. 3به APIs & Services > Library بروید
  4. 4"Google Tasks API" را جستجو و Enable کنید

#### مرحله 2: تنظیم OAuth Consent Screen

  1. 1APIs & Services > OAuth consent screen
  2. 2User Type: External
  3. 3Scopes مورد نیاز:
  • https://www.googleapis.com/auth/tasks (خواندن و نوشتن)
  • https://www.googleapis.com/auth/tasks.readonly (فقط خواندن)
  1. 1Test Users: ایمیل خود را اضافه کنید

#### مرحله 3: ایجاد OAuth Credentials

  1. 1APIs & Services > Credentials
  2. 2Create Credentials > OAuth client ID
  3. 3Application type: Web application
  4. 4Authorized redirect URIs:
  • https://your-n8n.com/rest/oauth2-credential/callback
  1. 1Client ID و Client Secret را کپی کنید

#### مرحله 4: تنظیم در n8n

  1. 1Credentials > Google Tasks OAuth2 API
  2. 2Client ID و Client Secret وارد کنید
  3. 3Connect my account بزنید
  4. 4دسترسی را تایید کنید

روش 2: Service Account

  1. 1Google Cloud Console > IAM & Admin > Service Accounts
  2. 2Service Account بسازید و JSON Key دانلود کنید
  3. 3Google Tasks API را Enable کنید
  4. 4در n8n: Service Account JSON وارد کنید
  5. 5توجه: Service Account به تسک‌های اکانت شخصی دسترسی ندارد مگر با Domain-Wide Delegation

عملیات‌های موجود

1

createTask

ایجاد تسک جدید در یک لیست تسک مشخص

2

getTask

دریافت جزئیات یک تسک خاص

3

updateTask

ویرایش عنوان، یادداشت، تاریخ سررسید یا وضعیت تسک

4

deleteTask

حذف کامل یک تسک از لیست

5

listTasks

دریافت لیست تمام تسک‌ها در یک لیست تسک

6

completeTask

علامت‌گذاری تسک به عنوان انجام‌شده

7

moveTask

تغییر مکان تسک در لیست یا تبدیل به زیرتسک

8

clearCompletedTasks

حذف تمام تسک‌های انجام‌شده از یک لیست

9

createTaskList

ایجاد لیست تسک جدید

10

getTaskList

دریافت جزئیات یک لیست تسک خاص

11

listTaskLists

دریافت تمام لیست‌های تسک کاربر

12

deleteTaskList

حذف کامل یک لیست تسک و تمام تسک‌های آن

کاربردهای متداول

1. تبدیل ایمیل به تسک از Gmail

ایجاد خودکار تسک از ایمیل‌های مهم:

code
Gmail Trigger (ایمیل جدید با label: action-needed)
  → Google Tasks (createTask)
    TaskListId: "@default"
    Title: "پیگیری: {{$json.subject}}"
    Notes: "از: {{$json.from}}\nتاریخ: {{$json.date}}\nلینک: {{$json.link}}"
    Due: {{$now.plus({days: 2}).toISO()}}

2. برنامه‌ریزی خودکار تسک‌های روزانه

ایجاد تسک‌های تکراری هر صبح:

code
Schedule (هر روز ساعت 7 صبح)
  → Code (لیست تسک‌های روزانه)
    [
      "بررسی ایمیل‌ها",
      "جلسه تیم",
      "بررسی تیکت‌های پشتیبانی",
      "گزارش روزانه"
    ]
  → Loop
    → Google Tasks (createTask)
      TaskListId: "daily-tasks"
      Title: {{$json.item}}
      Due: {{$now.endOf('day').toISO()}}

3. چک‌لیست پروژه از Template

ایجاد خودکار چک‌لیست پروژه جدید:

code
Webhook (پروژه جدید)
  → Google Tasks (createTaskList)
    Title: "پروژه: {{$json.projectName}}"
  → Code (تسک‌های Template)
  → Loop
    → Google Tasks (createTask)
      Title: {{$json.taskTitle}}
      Notes: {{$json.taskDescription}}
      Due: {{$json.deadline}}

4. تسک‌های پیگیری بعد از جلسه

ایجاد Follow-up از جلسات Google Calendar:

code
Google Calendar Trigger (جلسه تمام شد)
  → Google Tasks (createTask)
    Title: "پیگیری جلسه: {{$json.summary}}"
    Notes: "شرکت‌کنندگان: {{$json.attendees}}\nخلاصه: {{$json.description}}"
    Due: {{$now.plus({days: 1}).toISO()}}

5. یادآوری Deadline از Calendar

همگام‌سازی تسک‌ها با Calendar:

code
Schedule (هر روز ساعت 8)
  → Google Tasks (listTasks)
    ShowCompleted: false
    DueMax: {{$now.plus({days: 1}).toISO()}}
  → IF (تسک‌های امروز وجود دارد)
    → Telegram (ارسال لیست تسک‌ها)
      Text: "تسک‌های امروز:\n{{$json.items.map(t => '• ' + t.title).join('\n')}}"

6. ردیابی درخواست‌های مشتری

ایجاد تسک از فرم تماس:

code
Webhook (فرم تماس مشتری)
  → Google Tasks (createTask)
    TaskListId: "client-requests"
    Title: "درخواست: {{$json.name}} - {{$json.subject}}"
    Notes: "ایمیل: {{$json.email}}\nتلفن: {{$json.phone}}\nپیام: {{$json.message}}"
    Due: {{$now.plus({hours: 24}).toISO()}}
  → Gmail (تایید دریافت به مشتری)

7. ایجاد تسک‌های بررسی هفتگی

Weekly Review خودکار:

code
Schedule (هر جمعه ساعت 16)
  → Google Tasks (createTask)
    Title: "بررسی هفتگی - {{$now.toFormat('yyyy/MM/dd')}}"
    Notes: "1. مرور تسک‌های انجام‌شده\n2. برنامه‌ریزی هفته آینده\n3. بررسی اهداف"
  → Google Tasks (listTasks: تسک‌های تکمیل‌شده)
  → Google Tasks (clearCompletedTasks)

8. چک‌لیست عادت‌های روزانه

Habit Tracker ساده:

code
Schedule (هر روز ساعت 6 صبح)
  → Google Tasks (clearCompletedTasks)
    TaskListId: "habits"
  → Code (لیست عادت‌ها)
  → Loop
    → Google Tasks (createTask)
      TaskListId: "habits"
      Title: {{$json.habit}}
      Due: {{$now.endOf('day').toISO()}}

9. ردیابی فاکتورهای پرداخت‌نشده

مدیریت پرداخت‌ها:

code
Webhook (فاکتور جدید)
  → Google Tasks (createTask)
    TaskListId: "invoices"
    Title: "فاکتور #{{$json.invoiceId}} - {{$json.clientName}}"
    Notes: "مبلغ: {{$json.amount}} تومان\nتاریخ صدور: {{$json.issueDate}}"
    Due: {{$json.dueDate}}

Webhook (پرداخت موفق)
  → Google Tasks (updateTask)
    Status: "completed"

10. تسک‌های تیمی با Google Workspace

اختصاص تسک به اعضای تیم:

code
Google Sheets (لیست تسک‌های جدید)
  → Loop
    → Google Tasks (createTask)
      Title: "{{$json.taskTitle}} [{{$json.assignee}}]"
      Notes: "اختصاص به: {{$json.assignee}}\nاولویت: {{$json.priority}}"
      Due: {{$json.deadline}}
    → Gmail (اعلان به فرد مسئول)

نکات حرفه‌ای

نکات حرفه‌ای

  1. 1**لیست تسک پیش‌فرض**: از @default به عنوان taskListId استفاده کنید:
code
TaskListId: "@default"
   // به لیست "My Tasks" اشاره می‌کند
  1. 1فرمت تاریخ سررسید (RFC 3339):
code
// فرمت صحیح:
   2024-12-31T00:00:00.000Z

   // در Expression:
   {{$now.plus({days: 7}).toISO()}}
   {{$now.endOf('day').toISO()}}
   {{DateTime.fromFormat('1403/10/15', 'yyyy/MM/dd').toISO()}}
  1. 1ایجاد زیرتسک با parent:
code
// ابتدا تسک اصلی
   Task 1 (id: "abc123")

   // سپس زیرتسک
   createTask:
     parent: "abc123"
     title: "زیرتسک 1"

   // توجه: فقط یک سطح زیرتسک مجاز است
  1. 1مرتب‌سازی با previous:
code
// تسک جدید بعد از تسک خاص:
   createTask:
     previous: "task_id_قبلی"
     title: "تسک جدید"

   // بدون previous: ابتدای لیست
  1. 1وضعیت تسک‌ها:
code
needsAction  → تسک فعال (نیاز به انجام)
   completed    → تسک انجام‌شده

   // تکمیل تسک:
   updateTask: { status: "completed" }

   // بازگشت به فعال:
   updateTask: { status: "needsAction", completed: null }
  1. 1فیلد notes برای جزئیات:
code
Notes: "اولویت: بالا\nمرتبط با: پروژه X\nلینک: https://..."
   // از notes برای ذخیره اطلاعات اضافی استفاده کنید
   // حداکثر 8192 کاراکتر
  1. 1پاکسازی با clearCompleted:
code
// حذف تمام تسک‌های انجام‌شده از لیست
   clearCompletedTasks:
     TaskListId: "my-list-id"

   // مناسب برای نظافت هفتگی لیست‌ها
  1. 1یکپارچگی با Gmail:
code
// در Gmail: ایمیل > Add to Tasks
   // در n8n: Gmail Trigger → Google Tasks (createTask)
   // لینک ایمیل را در notes ذخیره کنید
  1. 1نمایش در Google Calendar:
code
// تسک‌های دارای due date در سایدبار Calendar نمایش داده می‌شوند
   // همیشه due date تنظیم کنید برای یادآوری بهتر
  1. 1لیست تسک به عنوان پروژه:
code
// هر لیست تسک = یک پروژه یا دسته‌بندی
    createTaskList: "پروژه وب‌سایت"
    createTaskList: "تسک‌های شخصی"
    createTaskList: "خرید"
    createTaskList: "فاکتورها"
  1. 1سادگی بهتر از پیچیدگی: Google Tasks برای تسک‌های شخصی و ساده مناسب است. برای مدیریت پروژه تیمی از Asana یا Todoist استفاده کنید.
  1. 1پردازش دسته‌ای با Loop Node:
code
Code (لیست تسک‌ها)
      → Split In Batches (10)
        → Google Tasks (createTask)
        → Wait (200ms)
  1. 1فیلد مخفی برای لینک منبع:
code
// در notes لینک منبع تسک را ذخیره کنید:
    Notes: "source: webhook_123\nurl: https://..."
    // بعداً با جستجو در notes پیدا کنید
  1. 1محدودیت Pagination (حداکثر 100 نتیجه):
code
// در هر درخواست listTasks حداکثر 100 تسک
    // برای بیشتر از pageToken استفاده کنید:
    listTasks (maxResults: 100)
      → IF (nextPageToken)
        → listTasks (pageToken: nextPageToken)
        → Merge Results
  1. 1ترکیب با Google Calendar برای بهره‌وری کامل:
code
// تسک‌ها: کارهایی که باید انجام شوند
    // Calendar: زمان‌هایی که مشغول هستید

    Schedule (هر صبح)
      → Google Tasks (listTasks: تسک‌های امروز)
      → Google Calendar (رویدادهای امروز)
      → Code (ترکیب و برنامه‌ریزی)
      → Telegram (ارسال برنامه روزانه)

رفع مشکلات

خطاهای رایج و راه‌حل‌ها

1. خطای 401 Unauthorized (توکن OAuth منقضی)

علت: Access Token منقضی شده یا Refresh Token نامعتبر

راه‌حل

  • Credential را در n8n حذف و دوباره Connect کنید
  • در Google Cloud Console مطمئن شوید OAuth Consent Screen فعال است
  • بررسی کنید Test Users شامل ایمیل شما باشد
  • از /token endpoint با Refresh Token جدید استفاده کنید

2. خطای 403 Insufficient Scope

علت: Scope درخواست شده کافی نیست

راه‌حل

  • Scope را از tasks.readonly به tasks تغییر دهید
  • Credential را حذف و با Scope جدید دوباره بسازید
  • در Google Cloud Console: OAuth consent screen > Scopes بررسی کنید
  • مطمئن شوید Google Tasks API فعال (Enable) است

3. خطای 404 Task/List Not Found

علت: شناسه تسک یا لیست تسک نامعتبر

راه‌حل

  • شناسه لیست تسک را با listTaskLists بررسی کنید
  • برای لیست پیش‌فرض از @default استفاده کنید
  • تسک حذف شده قابل دسترسی نیست
  • شناسه‌ها Case-Sensitive هستند

4. خطای Rate Limit (429)

علت: تعداد درخواست‌ها بیش از حد مجاز

راه‌حل

  • بین درخواست‌ها Wait Node اضافه کنید (200ms)
  • محدودیت‌ها: حدود 50000 درخواست در روز
  • از Split In Batches استفاده کنید
  • Retry on Fail فعال کنید

5. خطای فرمت تاریخ سررسید نامعتبر

علت: تاریخ due در فرمت RFC 3339 نیست

راه‌حل

  • فرمت صحیح: 2024-12-31T00:00:00.000Z
  • از Expression استفاده کنید: {{$now.plus({days: 7}).toISO()}}
  • ساعت باید 00:00:00 باشد (Tasks فقط تاریخ نگه می‌دارد)
  • Timezone در URL encode نشود

6. مشکل ترتیب تسک‌ها (Ordering)

علت: پارامتر previous اشتباه تنظیم شده

راه‌حل

  • previous باید شناسه تسک قبلی در لیست باشد
  • اگر خالی باشد، تسک در ابتدای لیست قرار می‌گیرد
  • بعد از move، ترتیب سایر تسک‌ها خودکار تنظیم می‌شود
  • از listTasks برای دیدن ترتیب فعلی استفاده کنید

7. تسک‌های تکمیل‌شده نمایش داده نمی‌شوند

علت: پارامتر showCompleted روی false است

راه‌حل

  • در listTasks: showCompleted: true تنظیم کنید
  • showHidden: true برای تسک‌های مخفی
  • تسک‌های پاک‌شده با clearCompleted قابل بازیابی نیستند
  • تسک‌های حذف‌شده در Trash نیستند (مستقیم حذف می‌شوند)

8. خطای Parent Task Not Found (زیرتسک)

علت: شناسه تسک والد نامعتبر یا در لیست دیگری است

راه‌حل

  • تسک والد باید در همان لیست تسک باشد
  • ابتدا تسک والد را بسازید، سپس زیرتسک
  • تسک والد نباید خودش زیرتسک باشد (فقط یک سطح)
  • شناسه والد را از پاسخ createTask بخوانید
اشتراک‌گذاری:

آیا این مستندات مفید بود؟