Ich versuche, einen Nutzer mithilfe der Google Directory-Dienste zu aktualisieren, erhalte jedoch eine Fehlermeldung: "400 Ungültiges Passwort". Hier ist der Code, den ich verwende:Passwort für die Aktualisierung des Google-Verzeichnisdienstes 400 Ungültiges Passwort
var certificate = new X509Certificate2(certificatePath, "notasecret",
X509KeyStorageFlags.Exportable);
var sai = new ServiceAccountCredential.Initializer(clientId)
{
Scopes = new[]
{
DirectoryService.Scope.AdminDirectoryUser,
DirectoryService.Scope.AdminDirectoryDomain
}
}.FromCertificate(certificate);
sai.User = "[email protected]";
ServiceAccountCredential credential = new ServiceAccountCredential(sai);
var directoryService = new DirectoryService(new BaseClientService.Initializer
{
ApplicationName = "Admin",
HttpClientInitializer = credential
});
User user = directoryService.Users.Get("[email protected]").Execute();
user.Password = "[email protected]";
directoryService.Users.Update(user, "[email protected]").Execute(); // Error 400 Invalid password
Die letzte Zeile wirft den Fehler. Erste vorhandene Benutzer funktioniert durch die Art und Weise:
var listRequest = _directoryService.Users.List();
listRequest.Domain = "domain.com";
listRequest.MaxResults = 500;
var results = listRequest.Execute(); // Works fine!
Was mache ich falsch?
Hat Ihr 'User' Objekt eine nicht leere' HashFunction'? Hinweis aus der Dokumentation: "Wenn eine hashFunction angegeben ist, muss das Passwort ein gültiger Hash-Schlüssel sein." –
Ich habe das in der Dokumentation übersehen. Ich werde nächsten Montag nachsehen. –
Ich habe keine Hash-Funktion angegeben, aber aus irgendeinem Grund hat es nicht funktioniert. Mit SHA1 jetzt und es funktioniert gut. –