كيفية استخدام Notion مع Gmail وGoogle Sheets باستخدام Apps Script

لقد أصبحت Notion، أداتي المفضلة المطلقة لتخزين جميع أنواع الأشياء بدءًا من صفحات الويب ومقتطفات التعليمات البرمجية وحتى الوصفات، أفضل. لقد أصدروا واجهة برمجة تطبيقات عامة وبالتالي سيكون من الأسهل على المطورين القراءة والكتابة في مساحة عمل Notion الخاصة بهم من التطبيقات الخارجية.
على سبيل المثال، يمكنك إنشاء مستند في Google Docs وتصديره إلى Notion أثناء البقاء داخل Docs. يمكن لمستخدمي جداول بيانات Google سحب الصفحات من قاعدة بيانات Notion إلى جدول البيانات الخاص بهم. يمكن حفظ أي عمليات إرسال جديدة في نماذج Google مباشرةً في Notion وما إلى ذلك!
حفظ رسائل Gmail في Notion
لقد قمت بتجميع وظيفة إضافية لـ Gmail تسهل عليك حفظ رسائل البريد الإلكتروني، أو أي محتوى نصي آخر، من Gmail إلى مساحة عمل Notion الخاصة بك بنقرة واحدة. وإليك كيفية عمل التطبيق.
الخطوة 1: قم بتوصيل Gmail بـ Notion
الخطوة 2: السماح بالوصول إلى صفحات Notion – إذا كان لديك قواعد بيانات متعددة في مساحة عمل Notion الخاصة بك، فلديك خيار منح الوصول إلى قواعد بيانات محددة ولن يتمكن التطبيق الخارجي من الوصول إلى الباقي.
الخطوة 3: اختر البريد الإلكتروني – افتح أي رسالة بريد إلكتروني في Gmail وسيكون لديك خيار لتحرير محتوى موضوع البريد الإلكتروني ونصه قبل إرسال المحتوى إلى صفحة Notion الخاصة بك. يرجى ملاحظة أن التطبيق يدعم تنسيق النص العادي فقط في الوقت الحالي.
الخطوة 4: Open Notion – بمجرد الضغط على Send to Notion
الزر، تتم إضافة محتوى رسالة البريد الإلكتروني المحددة حاليًا إلى قاعدة بيانات Notion الخاصة بك. يمكنك النقر فوق All updates
الرابط في الشريط الجانبي الخاص بـ Notion لعرض الصفحة المضافة مؤخرًا.
كيفية استخدام Notion مع Google Apps Script
إذا كنت ترغب في دمج وظيفة Google الإضافية الخاصة بك مع Notion API، فإليك ملخصًا موجزًا للخطوات المتضمنة.
-
انتقل إلى notion.so وانقر فوق
Create New Integration
زر. سيتم تزويدك بمعرف العميل وسر العميل الذي ستحتاج إليه في خطوة لاحقة. -
قم بتضمين مكتبة OAuth2 في مشروع Apps Script الخاص بك واستدعاء
getRedirectUri
للحصول على عنوان URL لإعادة توجيه OAuth2 للخطوة السابقة.
const getNotionService = () => {
return OAuth2.createService('Notion')
.setAuthorizationBaseUrl('https://api.notion.com/v1/oauth/authorize')
.setTokenUrl('https://api.notion.com/v1/oauth/token')
.setClientId(CLIENT_ID)
.setClientSecret(CLIENT_SECRET)
.setCallbackFunction('authCallback')
.setPropertyStore(PropertiesService.getUserProperties())
.setCache(CacheService.getUserCache())
.setTokenHeaders({
Authorization: `Basic ${Utilities.base64Encode(`${CLIENT_ID}:${CLIENT_SECRET}`)}`
});
};
const authCallback = (request) => {
const isAuthorized = getNotionService().handleCallback(request);
return HtmlService.createHtmlOutput(isAuthorized ? 'Success!' : 'Access Denied!');
};
const getRedirectUri = () => {
console.log(OAuth2.getRedirectUri());
};
- الاتصال بـ Notion API – إنشاء
Get
طلب HTTP إلى /vi/databases لجلب قائمة بجميع قواعد البيانات التي شاركها المستخدم بشكل صريح مع التطبيق المعتمد.
function getDatabasesList() {
var service = getNotionService();
if (service.hasAccess()) {
const url = 'https://api.notion.com/v1/databases';
const response = UrlFetchApp.fetch(url, {
headers: {
Authorization: `Bearer ${service.getAccessToken()}`,
'Notion-Version': '2021-05-13'
}
});
const { results = [] } = JSON.parse(response.getContentText());
const databases = results
.filter(({ object }) => object === 'database')
.map(({ id, title: [{ plain_text: title }] }) => ({ id, title }));
console.log({ databases });
} else {
console.log('Please authorize access to Notion');
console.log(service.getAuthorizationUrl());
}
}
تنزيل Gmail إلى Notion
ال Gmail إلى Notion التطبيق في مرحلة تجريبية. إذا كنت ترغب في استخدامه مع حساب Gmail أو Google Workspace الخاص بك، فيرجى التثبيت من هنا – Gmail to Notion