【发布时间】:2020-08-26 13:17:06
【问题描述】:
我正在尝试将 Gsuite 目录中的用户添加为目录中所有用户的联系人。
var credential = GetCredentialForUser(User.PrimaryEmail);
// Create Drive API service.
var peopleService = new PeopleServiceService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential
});
PeopleResource.ListDirectoryPeopleRequest peopleRequest =
peopleService.People.ListDirectoryPeople();
peopleRequest.ReadMask = "names,emailAddresses,addresses,phoneNumbers";
peopleRequest.Sources = PeopleResource.ListDirectoryPeopleRequest.SourcesEnum.DIRECTORYSOURCETYPEDOMAINPROFILE;
peopleRequest.PageSize = 1000;
//peopleRequest.SortOrder = (PeopleResource.ConnectionsResource.ListRequest.SortOrderEnum)1;
var res = peopleRequest.Execute();
var list = peopleService.ContactGroups.List().Execute();
//var directoryPeople = peopleService.People.ListDirectoryPeople().Execute();
var person = res.People.FirstOrDefault();
foreach (var label in list.ContactGroups)
{
Console.WriteLine(label.ResourceName);
}
var all = list.ContactGroups.Where(s => s.Name== "myContacts").FirstOrDefault();
var members = peopleService.ContactGroups.Members.Modify(new ModifyContactGroupMembersRequest() { ResourceNamesToAdd = new List<string> { person.ResourceName }, ResourceNamesToRemove = new List<string> { } }, all.ResourceName).Execute();
我收到一个异常
{"Google.Apis.Requests.RequestError\r\nResource name \"people/XXXYYYY\" is not a valid contact person resource. [400]\r\nErrors [\r\n\tMessage[Resource name \"people/XXXYYYY\" is not a valid contact person resource.] Location[ - ] Reason[badRequest] Domain[global]\r\n]\r\n"}
这是否意味着我们无法使用目录中的人员 api 添加用户作为联系人,如果是这样,批量添加的最佳方法是什么?清除所有联系人并从目录中添加新用户?
【问题讨论】:
-
错误是说资源不正确。您是否尝试过在 api 参考页面上使用
try this? -
我正在从目录中添加一个用户,只是想知道这是否支持或者我如何从目录中创建一个用户作为联系人?
-
您是否尝试过使用个人资料电子邮件创建联系人然后添加他们?
标签: c# google-contacts-api google-directory-api google-people-api