Google 日历工具集
Google 日历 是 Google Workspace 的一款产品,可让用户整理日程和活动。这是一个基于云的日历,允许用户创建、编辑和删除活动。它还允许用户与其他用户共享他们的日历。
概述
本笔记本将帮助您开始使用 Google 日历工具集。此工具集可与 Google 日历 API 交互,对日历执行各种操作。它允许您:
- 创建活动。
- 搜索活动。
- 更新活动。
- 将活动移至不同的日历。
- 删除活动。
- 列出活动。
设置
要使用此工具集,您需要:
- 拥有一个有权访问 Google 日历的 Google 帐户。
- 按照Google 日历 API 文档中的说明设置您的凭据。下载
credentials.json文件后,您就可以开始使用 Google 日历 API 了。
要启用对单个工具的自动化跟踪,请设置您的 LangSmith API 密钥:
# os.environ["LANGSMITH_TRACING"] = "true"
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
安装
此工具包位于 langchain-google 仓库的 langchain-google-community 包中。我们需要 calendar 扩展:
%pip install -qU langchain-google-community\[calendar\]
##实例化
默认情况下,工具包会读取本地的 credentials.json 文件。您也可以手动提供一个 Credentials 对象。
from langchain_google_community import CalendarToolkit
toolkit = CalendarToolkit()
API Reference:CalendarToolkit
自定义认证
在后台,googleapi 资源是使用以下方法创建的。你可以手动构建一个 googleapi 资源以获得更多认证控制。
from langchain_google_community import CalendarToolkit
from langchain_google_community.calendar.utils import (
build_resource_service,
get_google_credentials,
)
# Can review scopes here: https://developers.google.com/calendar/api/auth
# For instance, readonly scope is https://www.googleapis.com/auth/calendar.readonly
credentials = get_google_credentials(
token_file="token.json",
scopes=["https://www.googleapis.com/auth/calendar"],
client_secrets_file="credentials.json",
)
api_resource = build_resource_service(credentials=credentials)
toolkit = CalendarToolkit(api_resource=api_resource)
工具
查看可用工具:
tools = toolkit.get_tools()
tools
[CalendarCreateEvent(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>),
CalendarSearchEvents(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>),
CalendarUpdateEvent(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>),
GetCalendarsInfo(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>),
CalendarMoveEvent(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>),
CalendarDeleteEvent(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>),
GetCurrentDatetime(api_resource=<googleapiclient.discovery.Resource object at 0x10ad13fb0>)]
- CalendarCreateEvent
- CalendarSearchEvents
- CalendarUpdateEvent
- GetCalendarsInfo
- CalendarMoveEvent
- CalendarDeleteEvent
- GetCurrentDatetime