Ну, после большой помощи из сообщений на этом сайте и других, я, наконец, подключил и подключил мое приложение .net к моему экземпляру Google Apps! Ура! Я могу искать и получать информацию о пользователях в моих сердцах, используя учетную запись службы, на которую я делегировал доступ.API Google Directory и сбросить пароли пользователей через .net
Таким образом, я не могу обновить пароль пользователя. Я не получаю ошибок, никакого ответа, ничего - он просто не работает.
Вот что я получил до сих пор, как я уже сказал, я получаю подробные сведения о пользователе, просто не могу изменить этот пароль!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography.X509Certificates;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Admin.Directory.directory_v1;
using Google.Apis.Admin.Directory.directory_v1.Data;
using Google.Apis.Admin.Directory;
String serviceAccountEmail = "[email protected]";
var certificate = new X509Certificate2(@"c:\path\to\my\p12key.p12", "mysecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
User="[email protected]",
Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser }
}.FromCertificate(certificate));
var dirservice = new DirectoryService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "MyProjectName",
});
User user = dirservice.Users.Get("[email protected]").Execute();
Console.WriteLine(" email: " + user.PrimaryEmail);
Console.WriteLine(" last login: " + user.LastLoginTime);
user.Password = "newpassword";
dirservice.Users.Update(user, "[email protected]");
Последние две строки, которые я ожидаю, изменят пароль пользователей, но это не так.
Любая помощь здесь была бы высоко оценена! Спасибо!