Я использую PeopleService для создания контактов прямо в мою учетную запись G Suit.Я следовал инструкциям по безопасности, чтобы получить ключ для учетной записи.Мое приложение будет создавать контакты, поэтому нет необходимости запрашивать разрешение конкретного пользователя.У него есть свой ключ и учетные данные.Кажется, мой код работает, за исключением того, что CreateContactRequest предоставляет мне ResourceName со значением "people / c171255166120767303".И каждый раз, когда я запрашиваю, я получаю другое имя ресурса, например, «people / c9013378989213012841».Проблема в том, где, черт возьми, что идет?В моей учетной записи G Suite я не вижу нигде созданного контакта.Но результирующий объект Person выглядит нормально.
Как я могу проверить, работает ли это?Где был создан контакт?
Код ниже:
private static string _clientId = "1........1";
private static string _clienteScret = "i******************_";
private static string _serviceAccountId = "aaaa@bbbb.iam.gserviceaccount.com";
public static void Cadastrar (сообщение Models.SignupRequest) {
var chave =
@"D:\********.p12";
var certificate = new X509Certificate2(chave, "notasecret", X509KeyStorageFlags.Exportable);
var credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(_serviceAccountId)
{
Scopes = new[] {
PeopleService.Scope.Contacts,
PeopleService.Scope.ContactsReadonly,
"https://www.google.com/m8/feeds"
}
}.FromCertificate(certificate));
var service = new PeopleService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Client for www",
});
var contactToCreate = new Person();
var names = new List<Name> {new Name() {GivenName = message.name, FamilyName = "Doe"}};
contactToCreate.Names = names;
contactToCreate.EmailAddresses = new List<EmailAddress>
{
new EmailAddress()
{
DisplayName = message.name,
Value = message.email
}
};
contactToCreate.Organizations = new List<Organization>
{
new Organization()
{
Current = true,
Name = message.nome_fantasia,
}
};
contactToCreate.Biographies = new List<Biography>
{
new Biography()
{
Value = message.ToString()
}
};
contactToCreate.PhoneNumbers = new List<PhoneNumber>
{
new PhoneNumber()
{
Type = "mobile",
Value = message.celular
},
new PhoneNumber()
{
Type = "work",
Value = message.telefone
}
};
var request = new Google.Apis.PeopleService.v1.PeopleResource.CreateContactRequest(service, contactToCreate);
var createdContact = request.Execute();
}