2016-09-29 10 views
0

Ich versuche, Nutzern meiner Google Apps Script-Webanwendung den Wechsel von Google-Konten zu ermöglichen. Ich habe versucht, Benutzer auf die Kontoauswahl über einen Hyperlink zu senden:Kontowechsel in Google Apps Script HTML-Dienst

<a href="https://accounts.google.com/AccountChooser?continue=https://script.google.com/a/macros/[domain]/s/[site_id]/exec">Switch Accounts</a> 

Wenn der Benutzer auf diesem Bildschirm ein anderes Konto wählt der Benutzer auf den Web-App gibt noch unter dem ursprünglichen Konto angemeldet.

Was mache ich falsch oder gibt es eine andere Möglichkeit, Benutzern zu erlauben, in der Web-App zwischen Konten zu wechseln?

Antwort

0

Während Sie möglicherweise Google Apps Script HTML Service benötigen, um Webseiten zu bedienen, die mit serverseitigen Apps Script-Funktionen für Ihre benutzerdefinierte Benutzeroberfläche interagieren können, benötigen Sie möglicherweise auch Admin SDK's Directory API, um Benutzer zu verwalten.

Wie in der Dokumentation angegeben,

Der Admin SDK Directory-Dienst ermöglicht es Ihnen, das Admin SDK Directory-API in Apps Script zu verwenden. Mit dieser API können Administratoren von Google Apps-Domains (einschließlich Resellern) Geräte, Gruppen, Nutzer und andere Entitäten in ihren Domains verwalten.

Zuerst können Sie users: list verwenden, um alle möglichen Benutzer aufzulisten. Beispielsweise können Sie Benutzer in einer Domäne auflisten, die nach Vornamen sortiert werden können:

function listAllUsers() { 
    var pageToken, page; 
    do { 
    page = AdminDirectory.Users.list({ 
     domain: 'example.com', 
     orderBy: 'givenName', 
     maxResults: 100, 
     pageToken: pageToken 
    }); 
    var users = page.users; 
    if (users) { 
     for (var i = 0; i < users.length; i++) { 
     var user = users[i]; 
     Logger.log('%s (%s)', user.name.fullName, user.primaryEmail); 
     } 
    } else { 
     Logger.log('No users found.'); 
    } 
    pageToken = page.nextPageToken; 
    } while (pageToken); 
} 

Dann users: get-retrieve a user verwenden.

Hier ist ein Beispielcode, um einen Benutzer per E-Mail-Adresse und protokolliert alle ihre Daten als JSON-Zeichenfolge.

function getUser() { 
    var userEmail = '[email protected]'; 
    var user = AdminDirectory.Users.get(userEmail); 
    Logger.log('User data:\n %s', JSON.stringify(user, null, 2)); 
} 

Ferner beachten Sie bitte, dass es Directory API: Prerequisites und muss auch eine Zulassung als in Authorize requests bei der Verwendung dieser API beschrieben.

Das mag ein wenig verwirrend sein, also schlage ich vor, dass Sie bitte die angegebenen Links für weitere Informationen durchgehen.

Glückliche Codierung!

+0

Hallo Tayam. Vielen Dank für Ihre Antwort und ich bin sehr dankbar dafür, aber ich glaube nicht, dass Sie meine ganz spezifische Frage beantwortet haben. Erstens verwende ich bereits den HTML-Dienst von Google Apps Script, um HTML-Seiten an Benutzer zu senden. Die Frage ist, ob ein Nutzer diese Seite mit einem Google-Konto besucht, aber stattdessen mit einem anderen Google-Konto aufsuchen möchte (weil möglicherweise ein Konto über Berechtigungen verfügt, die das andere Konto nicht besitzt, z. B. ein Mitglied der Domain, in der sich das Skript befindet) Ich biete dem Benutzer eine Möglichkeit, Konten auf meiner Seite zu wechseln. – h0dges

Verwandte Themen