Google Directory API и сброс пароля пользователя через.net

Что ж, после большой помощи от постов на этом и других сайтах я наконец-то подключил свое приложение.net и аутентифицировался к моему экземпляру приложений Google! Ура! Я могу искать и получать информацию о пользователях к своему сердцу, используя служебную учетную запись, доступ к которой мне делегирован.

Тем не менее, я не могу обновить пароль пользователя. Я не получаю ни ошибок, ни ответа, ничего - это просто не работает.

Вот что я получил до сих пор, как я уже сказал, я получаю отличные данные пользователя, просто не могу изменить этот пароль!

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 = "mybiglongserviceaccountemail@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"c:\path\to\my\p12key.p12", "mysecret", X509KeyStorageFlags.Exportable);


ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
  User="myadminuser@mydomain.com",

  Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser }
}.FromCertificate(certificate));



var dirservice = new DirectoryService(new BaseClientService.Initializer()
{
  HttpClientInitializer = credential,
  ApplicationName = "MyProjectName",
});

User user = dirservice.Users.Get("username@mydomain.com").Execute();
Console.WriteLine(" email: " + user.PrimaryEmail);
Console.WriteLine(" last login: " + user.LastLoginTime);

user.Password = "newpassword";
dirservice.Users.Update(user, "username@mydomain.com");

Я ожидаю, что последние две строки изменят пароль пользователя, но это не так.

Любая помощь здесь будет высоко ценится! Спасибо!

1 ответ

Не берите в голову!

Я забыл.Execute()

это работает с.execute()

user.Password = "newpassword";
dirservice.Users.Update(user, "username@mydomain.com").Execute();

Спасибо!

На тот случай, если кто-то захочет написать полную информацию о настройке проекта, консоли разработчика, учетной записи службы и т. Д., Я прямо здесь!

http://blog.mwpreston.net/2014/10/17/google-admin-sdk-apis-and-net-integration-changing-a-users-password/

Другие вопросы по тегам