Я пытаюсь написать скрипт, который будет добавлять учетные записи G Suite, но я хочу сделать это без перенаправления в Google для авторизации при каждой отправке формы.Есть ли способ авторизации в скрипте?Я попытался авторизоваться, используя ключ API, но получил 401 Error - Login Required
Используя oAuth и был перенаправлен в Google, работает:
from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
# If modifying these scopes, delete the file token.json.
SCOPES = 'https://www.googleapis.com/auth/admin.directory.user'
def main():
store = file.Storage('token.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('creds.json', SCOPES)
creds = tools.run_flow(flow, store)
service = build('admin', 'directory_v1', http=creds.authorize(Http()))
print('Adding user...')
#create a user
service.users().insert(body={
"name": {
"givenName": "John",
"fullName": "John Smith",
"familyName": "Smith",
},
"password": "password",
"primaryEmail": "testuser@domain.com",
"changePasswordAtNextLogin": True,
}).execute()
if __name__ == '__main__':
main()
Используя мой ключ API, который возвращает 401 Error
API_KEY = 'key'
def main():
service = build('admin', 'directory_v1', developerKey=API_KEY)
print('Adding user...')
#create a user
service.users().insert(body={
"name": {
"givenName": "John",
"fullName": "John Smith",
"familyName": "Smith",
},
"password": "password",
"primaryEmail": "testuser@domain.com",
"changePasswordAtNextLogin": True,
}).execute()
if __name__ == '__main__':
main()