Rozwiązywanie problemów z interfejsem Directory API

Na tej stronie opisujemy niektóre typowe problemy, które mogą wystąpić w przypadku interfejsu Directory API, gdy korzystasz z niego jako sprzedawca.

400:badRequest

Ten błąd występuje, gdy do metody zostanie przekazana nieprawidłowa wartość parametru.

Jeśli używasz metody users.get, sprawdź, czy wartość przekazywana do parametru userKey jest podstawowym adresem e-mail użytkownika, aliasem adresu e-mail lub unikalnym identyfikatorem użytkownika.

Jeśli używasz metody users.list, sprawdź te parametry:

  • Parametr customer: używaj tylko parametru customerId wygenerowanego przez Google. Nie używaj domeny klienta. Zalecamy używanie tego parametru, ponieważ jeśli klient ma domeny dodatkowe, użycie parametru domain zwraca tylko użytkowników z adresami e-mail w tej konkretnej domenie.
  • Parametr domain: używaj tylko rzeczywistej domeny klienta. Nie używaj
    customerId wygenerowanego przez Google.

403:domainCannotUseApis

Ten błąd występuje, gdy klient wyłączy dostęp sprzedawcy do interfejsu Admin SDK API. Aby rozwiązać ten problem, poproś klienta o ponowne włączenie dostępu do interfejsu Admin SDK API. Więcej informacji znajdziesz w artykule Kontrolowanie dostępu do interfejsu API.

Jeśli próbujesz uzyskać liczbę bieżących licencjonowanych użytkowników i wyświetla się ten błąd, zamiast wywoływać metodę users.list użyj pola licensedNumberOfSeats z zasobu subskrypcji.

403:forbidden

Ten błąd występuje, gdy nie jesteś właścicielem klienta lub klient wyłączył dostęp sprzedawcy do swojej konsoli administracyjnej.

Aby rozwiązać ten problem, przed wykonaniem połączeń w celu zweryfikowania własności klienta przez sprzedawcę wywołaj metodę customers.get lub poproś klienta o ponowne włączenie dostępu sprzedawcy do konsoli administracyjnej. Więcej informacji znajdziesz w artykule Uzyskiwanie dostępu do konsoli administracyjnej klienta.

403:usageLimits.accessNotConfigured

Ten błąd występuje, gdy interfejs API nie jest włączony w projekcie Google Cloud. Aby rozwiązać ten problem, otwórz Google Cloud Console i włącz interfejs API. Więcej informacji znajdziesz w artykule Włączanie interfejsów Google Workspace API.

409:duplicate

Ten błąd występuje, gdy próbujesz dodać nowego użytkownika, ale główny adres e-mail klienta już istnieje w jednym z tych miejsc:

  • bieżące konto Google Workspace, do którego chcesz dodać użytkowników;
  • inną usługę Google (nie Google Workspace);

Aby rozwiązać ten problem:

  1. Wywołaj metodę users.get.

    Jeśli otrzymasz odpowiedź 200, oznacza to, że użytkownik już istnieje na koncie Google Workspace klienta. Nie możesz dodać tego użytkownika do konta.

    Jeśli otrzymasz odpowiedź 403 forbidden, oznacza to, że domena w parametrze primaryEmail nie jest domeną klienta, który kupił usługę od sprzedawcy, lub że podstawowy adres e-mail był wcześniej używany w innej usłudze Google i przed dodaniem tego użytkownika należy najpierw zweryfikować domenę klienta.

  2. Jeśli możesz potwierdzić własność domeny klienta, wykonaj te czynności:

    1. Utwórz tymczasowego użytkownika z uprawnieniami administracyjnymi, korzystając z users.insertmetody, i kontynuuj obsługę administracyjną, aż dojdziesz do końcowego kroku weryfikacji domeny.
    2. Podczas weryfikacji domeny dodaj tymczasowych użytkowników do parametru owners[] w treści żądania wywołania webResource.insert. Wykonuj to połączenie, dopóki nie otrzymasz odpowiedzi 200.
    3. Po zweryfikowaniu domeny zmień nazwę użytkownika tymczasowego, korzystając z metody users.patch lub users.update.
  3. Jeśli nie możesz potwierdzić domeny klienta, wykonaj te czynności:

    1. Utwórz tymczasowe konto administratora za pomocą users.insert.
    2. Poproś klienta, aby zalogował się jako użytkownik tymczasowy i potwierdził własność domeny w konsoli administracyjnej.
    3. Po zweryfikowaniu domeny klient lub Ty możecie zmienić nazwę tymczasowego użytkownika. Możesz użyć metody users.patch lub users.update.

412:limitExceeded

Ten błąd występuje, gdy klient osiągnie maksymalny limit miejsc. Aby rozwiązać ten problem, użyj subscriptions.changeSeats metody i w zależności od abonamentu użytkownika wykonaj te czynności:

  • W przypadku FLEXIBLE zwiększ parametr maximumNumberOfSeats.
  • W przypadku ANNUAL zwiększ parametr numberOfSeats.