Я пытаюсь загрузить CustomSchema для всех пользователей компании в GSuite. Эта пользовательская схема содержит их имена пользователей Github, которые я извлек с помощью API github.
Проблема в том, что после запуска кода аккаунт в Gsuite не добавляется.
Соответствующий код (подключение к GSuite с аутентификацией администратора установлено, на карте есть все пользовательские записи. Если вам все еще нужен код, я могу предоставить его вам — просто постарайтесь не усложнять):
for _, u := range allUsers.Users {
if u.CustomSchemas != nil {
log.Printf("%v", string(u.CustomSchemas["User_Names"]))
}else{
u.CustomSchemas = map[string]googleapi.RawMessage{}
}
nameFromGsuite := u.Name.FullName
if githubLogin, ok := gitHubAccs[nameFromGsuite]; ok {
userSchemaForGithub := GithubAcc{GitHub: githubLogin}
jsonRaw, err := json.Marshal(userSchemaForGithub)
if err != nil {
log.Fatalf("Something went wrong logging: %v", err)
}
u.CustomSchemas["User_Names"] = jsonRaw
adminService.Users.Update(u.Id, u)
} else {
log.Printf("User not found for %v\n", nameFromGsuite)
}
}
Это структура для кодировки json:
type GithubAcc struct {
GitHub string `json:"GitHub"`
}