我正在使用服务帐户 auth2client.service_account 和 googleapiclient 连接到 google 日历并创建事件,我的问题是我的事件正在创建,并且还使用列表事件进行确认,但这些事件在 google 日历中不可见。
from oauth2client.service_account import ServiceAccountCredentials
from googleapiclient.discovery import build
SERVICE_ACCOUNT_FILE = 'chat-json.json'
SCOPES = ['https://www.googleapis.com/auth/calendar']
@app.route('/add_event/', methods=['POST'])
def add_event():
# Authenticate using service account credentials
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('calendar', 'v3', credentials=credentials)
event = {
'summary': 'Test Meeting',
'location': 'Test Location',
'description': 'Test Description',
'start': {
'dateTime': (datetime.utcnow() + timedelta(days=1)).isoformat(),
'timeZone': 'America/Los_Angeles',
},
'end': {
'dateTime': (datetime.utcnow() + timedelta(days=1, hours=1)).isoformat(),
'timeZone': 'America/Los_Angeles',
},
}
print(event)
try:
# Insert the event into the calendar
event = service.events().insert(calendarId='primary', body=event).execute()
print(event)
return jsonify({'status': 'success', 'eventId': event['id']})
except Exception as e:
return jsonify({'status': 'error', 'message': str(e)})
Default guest permissions
Add invitations to my calendar
When I respond to the invitation in email
创建的事件之一的示例,当转到 html 链接时,它没有找到请求的事件
{'kind': 'calendar#event', 'etag': '"34578432000"', 'id': 'j4clmqbhch2d0k', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=ajRjbG1xYmhjZ2ZwZW01ODE3MzBraDJkMGsgY2hhdC1haUBwcm8tcGFyay00MTc2MDguaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20', 'created': '2024-03-18T20:29:49.000Z', 'updated': '2024-03-18T20:29:49.216Z', 'summary': 'Python Meeting', 'description': 'A meeting to discuss Python projects.', 'location': '800 Howard St., San Francisco, CA 94103', 'creator': {'email': '[email protected]', 'self': True}, 'organizer': {'email': '[email protected]', 'self': True}, 'start': {'dateTime': '2024-03-20T03:29:47Z', 'timeZone': 'America/Los_Angeles'}, 'end': {'dateTime': '2024-03-20T04:29:47Z', 'timeZone': 'America/Los_Angeles'}, 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}
我找不到问题所在,是在配置还是权限中。
我问了同样的问题,然后我意识到我正在查看 2015 年,因为谷歌日历文档是在 2015 年编写的,示例使用的是 2015 年,所以你可能想检查一下。
如果这不能解决您的问题,请确保显示您的日历(应选中日历左侧的小复选框)。
祝你好运。