繁体   English   中英

如何从 Google 日历 API 的列表中添加与会者 email

[英]How to add attendees email from list in Google Calendar API

我无法从包含一些用户输入电子邮件的列表中添加电子邮件到事件中。 下面是我制作的 function ,它将创建一个事件;

    def submit():
        summary = title.get()
        location = local.get()
        s_date = start_date.get()
        s_time = start_time.get()
        final_s_date = s_date + "T" + s_time + ":00"
        e_date = end_date.get()
        e_time = end_time.get()
        final_e_date = e_date + "T" + e_time + ":00"
        service2 = get_calendar_api()
        event = {
            'summary': summary,
            'location': location,
            'description': 'Empty',
            'start': {
                'dateTime': final_s_date,
                'timeZone': 'Asia/Kuala_Lumpur',
            },
            'end': {
                'dateTime': final_e_date,
                'timeZone': 'Asia/Kuala_Lumpur',
            },
            'attendees': [
                {'email': 'lpage@example.com'},
            ],
        }
        # print(attends) -> ['example1@example.com', 'example2@example.com', 'example3@example.com']
        service2.events().insert(calendarId='primary', body=event).execute()

我有一个“参加”列表,其中包含用户输入的电子邮件,我不确定如何提取列表中的电子邮件,然后将电子邮件传递到事件 object 以便我可以添加与会者。 以下是“出席”名单。

['example1@example.com', 'example2@example.com', 'example3@example.com']

我也不擅长 Python:')

在您的脚本中,当attends被声明为attends attends = ['example1@example.com', 'example2@example.com', 'example3@example.com']时,下面的修改如何?

从:

service2.events().insert(calendarId='primary', body=event).execute()

至:

event["attendees"] = [*event["attendees"], *[{"email": e} for e in attends]] # Added
service2.events().insert(calendarId='primary', body=event).execute()

在此修改中,添加了attends = ['example1@example.com', 'example2@example.com', 'example3@example.com'] 因此,参加者的最终值为 ' attendees 'attendees': [{'email': 'lpage@example.com'}, {'email': 'example1@example.com'}, {'email': 'example2@example.com'}, {'email': 'example3@example.com'}]

如果你想用attends替换现有的attends ,请修改如下。

event["attendees"] = [{"email": e} for e in attends]
service2.events().insert(calendarId='primary', body=event).execute()

在这种情况下,参加者的值为 ' attendees 'attendees': [{'email': 'example1@example.com'}, {'email': 'example2@example.com'}, {'email': 'example3@example.com'}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM