用户允许后如何获取电子邮件地址以及日历凭据
how to get email address along with credential for calendar after user allow permission
如何在用户允许后获取所有者的电子邮件地址
SCOPES = ['https://www.googleapis.com/auth/calendar']
flow = InstalledAppFlow.from_client_secrets_file(credentials.json, SCOPES)
creds = flow.run_local_server(port=0)
service = build('calendar', 'v3', credentials=creds)
event_body = {
'summary': 'Test calendar',
'location': 'Gurgaon, Haryana',
'description': 'A chance to hear more about Google\'s developer
products.',
'start': {
'dateTime': '2020-03-28T09:00:00-07:00',
'timeZone': 'Asia/Kolkata',
},
'end': {
'dateTime': '2020-03-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'attendees': [
{'email': 'user@gmail.com'},
],
'reminders': {
'useDefault': False,
},
"visibility": "public",
}
event = service.events().insert(calendarId='primary',body=evnt_body)
还尝试添加“https://www.googleapis.com/auth/userinfo.email”此范围,但它在凭据中 returns None。
我需要在出席列表中添加所有者用户的电子邮件地址
您可以调用 Users.getProfile,并向 userId
提供特殊值 me 以指示经过身份验证的用户:
gmail_service = build('gmail', 'v1', credentials=creds)
email_address = gmail_service.users().getProfile(userId='me').execute()["emailAddress"]
注:
- 必须提供 these scopes 之一。
- 请注意,创建活动的用户默认添加为与会者。您可能不需要在创建活动时指定此用户。
参考:
如何在用户允许后获取所有者的电子邮件地址
SCOPES = ['https://www.googleapis.com/auth/calendar']
flow = InstalledAppFlow.from_client_secrets_file(credentials.json, SCOPES)
creds = flow.run_local_server(port=0)
service = build('calendar', 'v3', credentials=creds)
event_body = { 'summary': 'Test calendar', 'location': 'Gurgaon, Haryana', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2020-03-28T09:00:00-07:00', 'timeZone': 'Asia/Kolkata', }, 'end': { 'dateTime': '2020-03-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'attendees': [ {'email': 'user@gmail.com'}, ], 'reminders': { 'useDefault': False, }, "visibility": "public", }
event = service.events().insert(calendarId='primary',body=evnt_body)
还尝试添加“https://www.googleapis.com/auth/userinfo.email”此范围,但它在凭据中 returns None。 我需要在出席列表中添加所有者用户的电子邮件地址
您可以调用 Users.getProfile,并向 userId
提供特殊值 me 以指示经过身份验证的用户:
gmail_service = build('gmail', 'v1', credentials=creds)
email_address = gmail_service.users().getProfile(userId='me').execute()["emailAddress"]
注:
- 必须提供 these scopes 之一。
- 请注意,创建活动的用户默认添加为与会者。您可能不需要在创建活动时指定此用户。