在本教程中,我将向您展示如何使用Intion和Python设置自己的任务自动化系统。
简单的介绍:
我们必须遵循这两个主要步骤:
- 概念集成设置
- Python代码设置
这两个步骤之间的链接,位于概念api的魔法。
如果您是概念API和概念集成本身的新手,我将解释您如何在本教程中开始使用。
想要概念模板吗?在这里得到它!
如果您还没有访问概念模板,请获取👉🏻 hereð»
现在,您已经获得了此模板并重复进入工作空间,让我们开始:
:概念集成设置
此步骤确保Python脚本对正确的概念数据库进行更新。
为了确保这一点,Python代码需要首先“识别”概念数据库,以便它可以与之“交谈”。
每个概念数据库都有一个唯一的ID,该ID是URL链接的一部分。
为了使此过程更容易,我们可以创建一个可用于连接到您的概念数据库的“秘密令牌”。
让我们这样做,
1.创建概念集成秘密令牌
如果您还没有,请创建一个免费的Notion帐户
-
单击
+ New Integration
按钮
- 给名称
My Notion Task Automator
并提交
- 显示并复制秘密令牌(安全地将其保留)
- 单击
Save Changes
复制并保留概念集成的秘密令牌,以便您以后可以将其共享到Python脚本。
2.将其连接到概念页面
- 单击右上角的
...
- 单击
Add Connections
并搜索并选择新创建的概念集成
3.创建任务每天自动填充
让我们从一个简单的习惯开始,
dªª在每周10:30俯卧撑10俯卧撑
在任务定义概念数据库中,单击+ new
,然后创建一个新任务:
- 任务名称
Perform 10 Pushups
- date
10:30 AM
(任何日期,但时间应为10:30 am) - 一周的日子
(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
这是样子,
哇!看你!
现在让我们专注于运行Python脚本。直接跳入:
Python代码设置
为此,您不必在PC或笔记本电脑上运行Python。
您可以:
1.在Replit上创建一个免费帐户,并登录,
2.复制并粘贴Python代码
复制以下Python代码:
import requests
import json
from datetime import date
import calendar
import os
import dateutil.parser
import datetime
class MyNotionIntegration:
def __init__(self):
self.headers = {
'Content-Type': 'application/json',
'Notion-Version': '2021-05-13',
'Authorization': f'Bearer {os.getenv("NOTION_DAILY_TASK_SCHEDULER_INTEGRATION_SECRET")}'
}
self.read_db = self.write_db = self.list_of_tasks = None
@staticmethod
def getSameTimeButToday(date_string):
if not date_string:
return
iso_parser = dateutil.parser.isoparse(date_string)
today_date_obj = iso_parser.replace(
day=datetime.datetime.now().day,
month=datetime.datetime.now().month,
year=datetime.datetime.now().year,
)
return today_date_obj.isoformat('T')
def getReadAndWriteDBs(self, name=None):
if not name:
name = "TASKS TEMPLATE"
url = "https://api.notion.com/v1/search/"
payload = json.dumps({
"filter": {
"property": "object",
"value": "database"
}
})
response = requests.request("POST", url, headers=self.headers, data=payload)
databases = response.json().get('results')
for database in databases:
if database.get('title')[0].get('text').get('content').upper() == name:
self.read_db = database
else:
self.write_db = database
def getTodaysTasks(self):
url = f"https://api.notion.com/v1/databases/{self.read_db.get('id')}/query"
payload = json.dumps({
"filter": {
"property": "Day of the Week",
"multi_select": {
"contains": calendar.day_name[date.today().weekday()]
}
}
})
response = requests.request("POST", url, headers=self.headers, data=payload)
self.list_of_tasks = response.json().get('results')
def createTasks(self):
url = "https://api.notion.com/v1/pages/"
for task in self.list_of_tasks:
print(task.get('properties').get('Date').get('date').get('start'))
payload = json.dumps({
"parent": {
"type": "database_id",
"database_id": self.write_db.get('id'),
},
"icon": task.get('icon'),
"properties": {
"Due For": {
"type": "date",
"date": {
"start": self.getSameTimeButToday(
task.get('properties').get('Date').get('date').get('start')
),
"end": self.getSameTimeButToday(
task.get('properties').get('Date').get('date').get('end')
),
}
},
"Task": {
"type": "title",
"title": [
{
"type": "text",
"text": {
"content": task.get('properties').get('Name').get('title')[0].get('plain_text'),
},
"plain_text": task.get('properties').get('Name').get('title')[0].get('plain_text'),
}
]
}
}
})
response = requests.request("POST", url, headers=self.headers, data=payload)
print(f"HTTP Status {response.status_code}", response.text)
def RunWorkflow(self):
self.getReadAndWriteDBs()
self.getTodaysTasks()
self.createTasks()
if __name__ == "__main__":
MyNotionIntegration().RunWorkflow()
3.与Python脚本分享概念集成密钥
4.从浏览器中运行脚本!
在Replit上运行Python脚本后,您可以看到今天的任务已在任务Automator数据库中自动填充。
ð¥³很好!您现在有一个自动待办事项!
将所有习惯添加到Task Definition
数据库中,并每天运行python脚本(自动化)以自动生成Task Automator
数据库中的todo-list。
ð谢谢
...成为该实验的一部分,希望您使用它来提高生产力ð
如果您还没有访问概念模板,请获取👉🏻 hereð»
如果您喜欢此产品,您可能会喜欢我的其他产品,可以找到🔗 👉🏻 hereð–»
让我们在Twitter @TnvMadhav上连接,如果您不想错过新的项目!