Google Tasks API, Webhooks और Zapier: पावर यूजर्स के लिए पब्लिक API
आप चाहते हैं कि जब भी कोई फॉर्म सबमिट हो, तो Google Tasks में एक टास्क बने। या जब कोई टीममेट शेयर्ड लॉन्च लिस्ट पर कोई टास्क पूरा करे तो Slack पर मैसेज आए। या एक रातोंरात स्क्रिप्ट जो ओवरड्यू टास्क्स को स्प्रेडशीट में फाइल कर दे।
Google के पास Tasks API है, और यह काम करता है। लेकिन इसमें वेबहुक्स नहीं हैं, इसलिए “जब कोई टास्क पूरा हो” का मतलब है हर लिस्ट को टाइमर पर पोल करना। यह लेबल्स, असाइनी या बोर्ड्स के बारे में कुछ नहीं जानता, क्योंकि Google Tasks में ये फीचर्स नहीं हैं। और हर स्क्रिप्ट Google Cloud प्रोजेक्ट, OAuth कंसेंट स्क्रीन और टोकन रिफ्रेश रूटीन से शुरू होती है।
TasksBoard अब आपके Google Tasks डेटा के ऊपर एक पब्लिक REST API प्रदान करता है, जिसमें पर्सनल API कीज़, HMAC से साइन किए गए वेबहुक्स और एक Zapier ऐप शामिल हैं। यह गाइड बताती है कि यह क्या ऑफर करता है, की कैसे प्राप्त करें, सबसे उपयोगी एंडपॉइंट्स, वेबहुक्स और पोलिंग कैसे काम करते हैं, और यह किसके लिए है। यह API टीम प्लान का हिस्सा है।
TasksBoard API Google Tasks में क्या जोड़ता है
यह API उन्हीं Google Tasks लिस्ट्स और टास्क्स को पढ़ता और लिखता है जो आप Gmail और Google Tasks ऐप में देखते हैं। हर लिस्ट और टास्क आईडी Google Tasks की आईडी है, इसलिए आप जो भी बनाते हैं वह Google Tasks और अन्य टूल्स के साथ कंपेटिबल रहता है जो Google के API का उपयोग करते हैं।
इसके ऊपर, यह TasksBoard द्वारा जोड़े गए फीचर्स को एक्सपोज़ करता है:
- लेबल्स और असाइनी को प्रॉपर फील्ड्स के रूप में। Google Tasks केवल टाइटल, नोट्स और ड्यू डेट स्टोर करता है; TasksBoard लेबल्स और असाइनी को नोट्स के अंदर रखता है (पहली लाइन पर लेबल्स, फिर
👤 Assigned to <email>)। API उन्हेंlabelsऔरassigneeके रूप में पढ़ता और लिखता है, ताकिnotesमें फ्री टेक्स्ट वही हो जो लोग बोर्ड पर देखते हैं। - बोर्ड्स: प्रत्येक TasksBoard बोर्ड किन लिस्ट्स को दिखाता है।
- शेयर्ड लिस्ट्स: प्रत्येक लिस्ट पर
sharedफ्लैग, और जब कोई कॉलैबोरेटर शेयर्ड टास्क में बदलाव करता है तो इवेंट्स। - वेबहुक्स
task.created,task.updated,task.completedऔरtask.deletedके लिए।
बेस URL: https://api.tasksboard.com/v1। रिस्पॉन्सेस JSON में data की के अंदर आते हैं; एरर्स { "error": { "code", "message", "details" } } के रूप में आते हैं, जहां code स्टेबल होता है और 422 पर details इनवैलिड फील्ड्स के नाम बताता है।
API की बनाएं
कीज़ पर्सनल होती हैं। एक की उस यूज़र की तरह काम करती है जिसने इसे बनाया: जो कुछ भी वह व्यक्ति Google Tasks में कर सकता है, की कर सकती है।
- TasksBoard में, अपने अवतार पर क्लिक करें और टीम खोलें, फिर API टैब (या सीधे
/team?tab=apiपर जाएं)। - की बनाने के लिए क्लिक करें। चुनें कि क्या यह लिख सकती है; राइट स्कोप के बिना की हर राइट पर
403 forbiddenदेगी। - की को कॉपी करें। यह
tb_live_से शुरू होती है और केवल एक बार दिखाई जाती है। - हर रिक्वेस्ट पर इसे बेयरर टोकन के रूप में भेजें:
curl https://api.tasksboard.com/v1/lists \
-H "Authorization: Bearer tb_live_…"
वही टैब आपकी कीज़ को उनके स्कोप के साथ लिस्ट करता है, आपको एक को रिवोक करने देता है, और आपके वेबहुक्स दिखाता है। अगर की लीक हो गई है तो तुरंत रिवोक करें; नई की कुछ सेकंड्स में मिल जाएगी।
मुख्य एंडपॉइंट्स
संसाधनों का एक त्वरित टूर। पूरा रेफरेंस, OpenAPI डेफिनिशन से जनरेट किया गया, हेल्प सेंटर में है: TasksBoard API रेफरेंस.
अकाउंट
GET /me: वह अकाउंट जिससे की संबंधित है, उसका प्लान और की के स्कोप्स।
लिस्ट्स
GET /lists: आपकी Google Tasks लिस्ट्स,sharedऔरboardIdके साथ।POST /lists: एक लिस्ट बनाएं (title)।GET /lists/{listId}: एक लिस्ट।
टास्क्स
GET /lists/{listId}/tasks: डिफ़ॉल्ट रूप से ओपन टास्क्स;status=completedयाall,updatedAfter,dueBefore,dueAfter,includeDeleted।POST /lists/{listId}/tasks:title,notes,due,labels,assignee,parent(इसे सबटास्क बनाएं),previous(सिबलिंग के बाद इंसर्ट करें) के साथ एक टास्क बनाएं।GET /tasks/{taskId}?listId=: एक टास्क। Google एक टास्क को लिस्ट और आईडी से एड्रेस करता है, इसलिएlistIdआवश्यक है।PATCH /tasks/{taskId}: पार्शियल अपडेट;notes,due,labelsयाassigneeको क्लियर करने के लिएnullभेजें;status: "open"कंप्लीटेड टास्क को फिर से खोलता है।POST /tasks/{taskId}/complete: इसे पूरा करें।DELETE /tasks/{taskId}?listId=: इसे डिलीट करें।
बोर्ड्स
GET /boards: आपके बोर्ड्स और वे लिस्ट आईडीज जो प्रत्येक दिखाता है। मेन बोर्ड हमेशा पहले आता है।
वेबहुक्स
GET,POST /webhooks, औरGET,PATCH,DELETE /webhooks/{webhookId}।
एक लेबल और असाइनी के साथ टास्क बनाना इस तरह दिखता है:
curl -X POST https://api.tasksboard.com/v1/lists/LIST_ID/tasks \
-H "Authorization: Bearer tb_live_…" \
-H "Content-Type: application/json" \
-d '{"title": "Send the Q3 report", "due": "2026-10-24",
"labels": ["❗️Important"], "assignee": "bob@example.com"}'
असाइनी को लिस्ट का कॉलैबोरेटर (या आप) होना चाहिए। लिस्ट एंडपॉइंट्स meta.nextCursor रिटर्न करते हैं जब और डेटा होता है; इसे समान फिल्टर्स के साथ cursor के रूप में वापस पास करें।
- प्रति की प्रति मिनट 60 रिक्वेस्ट्स। रिस्पॉन्सेस X-RateLimit-Limit और X-RateLimit-Remaining ले जाते हैं; एक 429 Retry-After को सेकंड्स में ले जाता है। Google Tasks की अपनी कोटा इसके ऊपर लागू होती है
- ड्यू डेट्स डेट्स हैं। Google Tasks दिन का समय ड्रॉप कर देता है; एक ड्यू वैल्यू हमेशा मध्यरात्रि UTC पर वापस आती है
- प्रति अकाउंट 10 वेबहुक्स, केवल https URLs
- टीम प्लान आवश्यक। एक की जिसका मालिक प्लान छोड़ देता है 403 team_plan_required का जवाब देती है
वेबहुक्स: जब कोई टास्क बदले तो सूचित हों
पोलिंग Google Tasks API का कमजोर बिंदु है। एक वेबहुक इसे रिप्लेस करता है: TasksBoard आपके URL को कॉल करता है जब कोई टास्क बनता है, अपडेट होता है, पूरा होता है या डिलीट होता है।
- उन इवेंट्स के साथ एक वेबहुक रजिस्टर करें जिन्हें आप चाहते हैं:
curl -X POST https://api.tasksboard.com/v1/webhooks \
-H "Authorization: Bearer tb_live_…" \
-H "Content-Type: application/json" \
-d '{"url": "https://hooks.example.com/tasksboard",
"events": ["task.created", "task.completed"]}'
- रिस्पॉन्स से
secretको सेव करें। यह केवल एक बार, उसी रिस्पॉन्स में रिटर्न किया जाता है; आप अपना खुद का भी सप्लाई कर सकते हैं। - हर डिलीवरी का जवाब 10 सेकंड के अंदर कोई भी 2xx कोड से दें।
प्रत्येक डिलीवरी तीन हेडर्स ले जाती है: X-TasksBoard-Event (इवेंट नाम), X-TasksBoard-Delivery (डिलीवरी आईडी) और X-TasksBoard-Signature। बॉडी में इवेंट, createdAt टाइमस्टैम्प, अटेम्प्ट नंबर, data.task के अंदर पूरा टास्क, और एक source होता है: api REST कॉल के लिए, sync शेयर्ड लिस्ट के माध्यम से आए बदलाव के लिए, poll नीचे वर्णित 15-मिनट की पोल के लिए।
सिग्नेचर वेरिफाई करें
सिग्नेचर हेडर का फॉर्म t=<unix seconds>,v1=<hex> होता है, जहां v1 आपके सीक्रेट के साथ "<t>.<raw body>" का HMAC-SHA256 है। JSON पार्सिंग से पहले रॉ रिक्वेस्ट बॉडी पर HMAC की गणना करें, और बहुत पुराने टाइमस्टैम्प्स को रिजेक्ट करें:
const crypto = require("crypto")
function verify(secret, rawBody, header, toleranceSeconds = 300) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")))
if (Math.abs(Date.now() / 1000 - Number(parts.t)) > toleranceSeconds) return false
const expected = crypto.createHmac("sha256", secret).update(`${parts.t}.${rawBody}`).digest("hex")
return crypto.timingSafeEqual(Buffer.from(parts.v1, "hex"), Buffer.from(expected, "hex"))
}
रिट्राइज़ और स्विच ऑफ
फेल्ड डिलीवरीज़ को 3 बार बैकऑफ़ के साथ रिट्राई किया जाता है। 20 लगातार फेलियर्स के बाद वेबहुक को स्विच ऑफ (active: false) कर दिया जाता है जब तक आप इसे PATCH /webhooks/{id} और "active": true के साथ फिर से एनेबल नहीं करते। टीम पेज का API टैब प्रत्येक वेबहुक को उसके URL, इवेंट्स और एक Active या Disabled बैज के साथ दिखाता है, ताकि डेड एंडपॉइंट को आसानी से देखा जा सके।
जो लिस्ट्स शेयर्ड नहीं हैं उनके लिए पोलिंग
वेबहुक इवेंट्स कहाँ से आते हैं? तीन जगहों से: API के अपने राइट्स, शेयर्ड लिस्ट्स पर प्रोपेगेटेड बदलाव, और अगर आप इसे चालू करते हैं, तो आपकी अन्य लिस्ट्स की पोल।
वह आखिरी वाला मायने रखता है। Gmail या Google Tasks ऐप में एक लिस्ट पर किया गया बदलाव जो शेयर्ड नहीं है, TasksBoard द्वारा तब तक नहीं देखा जाता जब तक कोई लिस्ट को नहीं देखता। API टैब पर, हर 15 मिनट में मेरी लिस्ट्स को पोल करें चालू करें: TasksBoard फिर उस शेड्यूल पर उन लिस्ट्स को चेक करता है और source: "poll" के साथ इवेंट्स एमिट करता है। इसके बिना, केवल शेयर्ड लिस्ट्स और API राइट्स इवेंट्स प्रोड्यूस करते हैं।
अगर आपको केवल अपनी टीम द्वारा शेयर्ड लिस्ट्स पर बदलावों पर रिएक्ट करने की जरूरत है, तो पोलिंग को बंद छोड़ दें।
Zapier
हर कोई कोड लिखना नहीं चाहता। Zapier के लिए TasksBoard ऐप उसी पर्सनल API की के साथ ऑथेंटिकेट करता है और ऑफर करता है:
- ट्रिगर्स: नया टास्क, टास्क पूरा हुआ। दोनों
GET /lists/{listId}/tasksकोupdatedAfterके साथ पोल करते हैं, वही इडियम जो आप अपनी स्क्रिप्ट में उपयोग करेंगे। - एक्शन्स: टास्क बनाएं, टास्क पूरा करें, लिस्ट बनाएं।
Zapier इंटीग्रेशन पब्लिश किया जा रहा है। एक बार लिस्टेड होने के बाद, आप Zapier में TasksBoard खोजेंगे, जब पूछा जाए तो अपनी की पेस्ट करेंगे और एक लिस्ट चुनेंगे। तब तक, REST API और वेबहुक्स उसी ग्राउंड को कवर करते हैं, और ऊपर के ट्रिगर्स और एक्शन्स आपको बताते हैं कि क्या उम्मीद करनी चाहिए। ऑटोमेशन विकल्पों के व्यापक अवलोकन के लिए, हमारे Google Tasks इंटीग्रेशन्स गाइड देखें।
शेयर्ड लिस्ट्स, रोल्स, एक्टिविटी लॉग और वेबहुक्स के साथ एक REST API, जिसे आप पहले से उपयोग कर रहे Google Tasks के ऊपर। पूरी टीम के लिए एक बिल।
प्लान देखें →यह किसके लिए है
API एक टीम प्लान फीचर है, और फिट स्पेसिफिक है:
- शेयर्ड लिस्ट को सोर्स ऑफ ट्रुथ के रूप में रखने वाली टीम्स।
source: "sync"के साथtask.completedपर एक वेबहुक तब फायर होता है जब कोई भी कॉलैबोरेटर एक टास्क पूरा करता है, चाहे उन्होंने किसी भी ऐप का उपयोग किया हो। यह Slack मैसेज, Sheets में एक रो या टिकट अपडेट के लिए हुक है। - टूल्स को जोड़ने वाले ऑपरेशन्स लोग। फॉर्म्स, CRM और सपोर्ट डेस्क एक कॉल में लेबल और असाइनी के साथ टास्क बना सकते हैं, और टास्क सही व्यक्ति के बोर्ड और उनके Google Tasks ऐप में दिखाई देता है।
- डेवलपर्स जिन्होंने Google Tasks API आज़माया और पोलिंग, OAuth सेटअप या असाइनी की कमी पर रुक गए। एक की, एक हेडर, Google की अपनी आईडी।
यह Google के API को पूरी तरह से रिप्लेस करने के लिए नहीं है। अगर आपको केवल अपने खुद के टास्क्स की पर्सनल स्क्रिप्ट में जरूरत है और आपके पास पहले से ही OAuth क्लाइंट है, तो Google का API फ्री है और काम करता है। हमारा Google Tasks एक्सपोर्ट गाइड वन-ऑफ केसेस को कवर करता है।
सामान्य प्रश्न
निष्कर्ष
Google Tasks के पास एक API है, लेकिन कोई वेबहुक्स नहीं, कोई लेबल्स या असाइनी नहीं, और एक सेटअप कॉस्ट जो अधिकांश छोटे ऑटोमेशन्स को शुरू होने से पहले ही रोक देती है। TasksBoard API Google की आईडी को रखता है और गायब टुकड़ों को जोड़ता है: एक पर्सनल की जिसे आप एक मिनट में बना सकते हैं, लिस्ट्स, टास्क्स और बोर्ड्स के लिए एंडपॉइंट्स, वेबहुक्स जिन्हें आप वेरिफाई कर सकते हैं, अनशेयर्ड लिस्ट्स के लिए ऑप्शनल पोलिंग, और जल्द ही आने वाला एक Zapier ऐप।
टीम पेज के API टैब पर एक की बनाएं, एक GET /lists कॉल करें, और बाकी API रेफरेंस से फॉलो होगा।
अपने Google Tasks साझा करने के लिए तैयार हैं?
TasksBoard के साथ मुफ्त में शुरुआत करें, किसी क्रेडिट कार्ड की आवश्यकता नहीं है।
साइन इन करें

