Как обновить адреса электронной почты пользователя после внесения изменений в API каталогов Google? - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь изменить адреса электронной почты всех пользователей, появляющихся в Справочнике администратора Google организации, с использованием API Справочника Google. Однако я изо всех сил пытаюсь зафиксировать обновления в базе данных после внесения изменений.

Мне удалось распечатать всех пользователей и изменить их адреса электронной почты, затем распечатать их снова и увидеть, что изменения сработали,Однако это было сделано только локально, в то время как я пытаюсь применить обновление к реальным учетным записям пользователей. Итак, после того, как я изменил адреса электронной почты, как я могу на самом деле обновить с API? Отправленный код взят из быстрого запуска Google Python с небольшим изменением

# Call the Admin SDK Directory API
print('Getting the first 10 users in the domain')
results = service.users().list(customer='my_customer', maxResults=10,
                            orderBy='email').execute()
users = results.get('users', [])
user['email']['secondaryEmail'] = user['email']['customSchema']
#HOW DO I APPLY THIS CHANGE ON THE ACTUAL USER PROFILES NOW?

if not users:
    print('No users in the domain.')
else:
    print('Users:')
    for user in users:
        print(u'{0} ({1})'.format(user['primaryEmail'],
            user['name']['fullName']))

1 Ответ

0 голосов
/ 14 ноября 2019

Вы переименовываете пользователей с помощью метода directory.users.update здесь . В питоне это выглядит так:

response = results = service.users().update(
    userKey='existing_email_address',
    body={
        'primaryEmail': 'newEmailAddress@domain.com'
    }
).execute()
print(response)
...