要实现不需要重定向到登录页面即可授权访问谷歌日历,可以使用谷歌的服务账号(Service Account)进行身份验证和授权。以下是一个使用Python的示例代码:
import datetime
import google.auth
from google.auth.transport.requests import Request
from google.oauth2.service_account import Credentials
from googleapiclient.discovery import build
# 从JSON密钥文件中获取服务账号的凭据
credentials = Credentials.from_service_account_file('path/to/service-account-key.json')
credentials.refresh(Request())
# 使用凭据构建谷歌日历的服务对象
service = build('calendar', 'v3', credentials=credentials)
# 创建一个新的日历事件
event = {
'summary': '示例事件',
'start': {
'dateTime': '2022-01-01T10:00:00',
'timeZone': 'Asia/Shanghai',
},
'end': {
'dateTime': '2022-01-01T11:00:00',
'timeZone': 'Asia/Shanghai',
},
}
# 插入事件到谷歌日历
event = service.events().insert(calendarId='primary', body=event).execute()
print(f'事件创建成功,事件ID: {event["id"]}')
请注意替换代码中的path/to/service-account-key.json
为你自己的服务账号密钥文件的路径。此外,也可以根据需要修改示例代码中的日历事件的详细信息。
使用服务账号可以避免用户的登录过程,但需要确保服务账号具有足够的权限来访问目标谷歌日历。