Kann keine Liste der Benutzer mit Google Verzeichnis-API Admin-SDK
Ich versuche, die AdminService für die Verwaltung meiner Domäne-Benutzer und-Gruppen, aber ich bin stecken mit einem einfachen Antrag erhalten alle Benutzer meiner domain. Es ist der code in C#:
public Users GetAllUsers()
{
var provider = new AssertionFlowClient(
GoogleAuthenticationServer.Description,
new X509Certificate2(privateKeyPath, keyPassword, X509KeyStorageFlags.Exportable))
{
ServiceAccountId = serviceAccountEmail,
Scope = AdminService.Scopes.AdminDirectoryUser.GetStringValue()
};
var auth = new OAuth2Authenticator<AssertionFlowClient>(provider, AssertionFlowClient.GetState);
m_serviceGroup = new AdminService(new BaseClientService.Initializer()
{
Authenticator = auth,
});
var request = m_serviceUser.Users.List();
request.Domain = m_domainName;
return request.Fetch();
}
Ich bin immer eine Ausnahme, wenn Fetch (), die sagt:
Code: 403
Message: Not Authorized to access this resource/api
Error: {Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]}
Ich habe die Anweisungen befolgt hier zu API-Zugriff aktiviert haben, und auch berechtigt, mein Dienstkonto in der Domäne Bedienfeld:
[Security]->[Advanced Setting]->[Authentication]->[Manage third party OAuth Client access]
Bereiche mit:
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.user
Admin SDK-Dienst ist auch aktiviert in der API-Systemsteuerung.
Habe ich versucht, den code zu verwenden, der DriveService und erfolgreich aufgeführt/angelegt/gelöscht werden, die Dateien ohne Probleme, so dass die Authentifizierung Teil der code sollte in Ordnung sein. Ich konnte nicht herausfinden, was konfiguriert werden muss oder wenn es andere Probleme mit meinem code.
Vielen Dank für jede Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als auf der Seite beschrieben:
Den service account muss zum handeln auf Verhalten eines Benutzers, so dass beim initialisieren der client die ServiceAccountUser zugewiesen werden muss.
Edit: AssertionFlowClient veraltet ist, sollten die folgenden arbeiten:
Error:"unauthorized_client", Description:"Unauthorized client or scope in request.", Uri:""
statt.. irgendwelche IdeenDieser code funktioniert für mich
Weitere Informationen, werfen Sie Bitte einen Blick in Directory API: Users-Liste.
Es gibt Grenzen und Quoten.
Werden wir brauchen, um die service-ID, dass wir die super-admin oder den richtigen rechten, passieren diese Fehler.
Hoffe, das hilft.
-Venu Murthy
Arbeit für mich.