Dostęp do właściwości tożsamości użytkownika

Użytkownicy będą używać Twojego społecznościowego oprogramowania sprzęgającego do tworzenia własnych źródeł danych. W przypadku tych źródeł danych oprogramowanie sprzęgające ma dostęp do tożsamości użytkownika. W zależności od danych logowania do źródła danych rzeczywistym użytkownikiem może być twórca źródła danych (dane logowania właściciela) lub wyświetlający raport (dane logowania osoby przeglądającej).

Zalety

  • Możesz uzyskiwać dostęp do usług i interfejsów API Google w imieniu użytkownika.
  • Możesz wdrożyć niestandardową kontrolę dostępu, aby mieć pewność, że wyświetlane są tylko istotne dane.
  • Możesz dostosować wrażenia użytkownika do ich potrzeb.

Etapy wdrażania

Dostęp do tokena OAuth użytkownika

Oprogramowanie sprzęgające może uzyskiwać dostęp do usług i interfejsów API Google w imieniu użytkownika, przekazując jego token OAuth. Aby uzyskać dostęp do tokena OAuth odpowiedniego użytkownika w oprogramowaniu sprzęgającym, użyj ScriptApp.getOAuthToken(). Zobacz dokumentację getOAuthToken. Ten token będzie zawierał zakresy autoryzacji uwzględnione podczas autoryzacji oprogramowania sprzęgającego.

W przypadku większości programów sprzęgających Apps Script przez analizowanie i przetwarzanie skryptu automatycznie wykrywa, które zakresy są potrzebne. W każdej chwili możesz wyświetlić zakresy używane przez oprogramowanie sprzęgające. Możesz też ustawić zakresy wyraźnie w pliku manifestu za pomocą ciągów adresów URL. Jeśli chcesz uzyskać dostęp do usługi Google lub interfejsu API w imieniu użytkownika, umieść odpowiedni zakres w pliku manifestu.

Dostęp do adresu e-mail użytkownika

W kodzie możesz zidentyfikować obecnego efektywnego użytkownika za pomocą Session.getEffectiveUser().getEmail(). Zobacz dokumentację getEffectiveUser. Dodanie tego kodu spowoduje automatyczne dodanie zakresu autoryzacji https://www.googleapis.com/auth/userinfo.email do oprogramowania sprzęgającego.

Przykład: wywoływanie interfejsów API Google za pomocą tokena protokołu OAuth użytkownika

Przykład: isAdminUser() na podstawie adresu e-mail