public async Task AddUserToGroupAsync(User user, Group group) { var body = new CustomDirectoryObject { ObjectDataId = $"{_graphApiSettings.GraphApiBaseUri}v1.0/{_graphApiSettings.TenantId}/directoryObjects/{user.Id}" }; var stringContent = new StringContent(JsonConvert.SerializeObject(body)); var accessUri = $"{_graphApiSettings.GraphApiBaseUri}v1.0/{_graphApiSettings.TenantId}/groups/{group.Id}/members/$ref"; var responseMessage = await _secureHttpRequest.PostAsync(_graphApiSettings.AccessToken, stringContent, accessUri); if (responseMessage.IsSuccessStatusCode) { return; } var reason = await responseMessage.Content.ReadAsStringAsync(); // if we failed because the user is already in the group, consider it done anyway if (reason.Contains("already exist")) { return; } var message = $"Failed to add user {user.Id} to group {group.Id}"; throw new UserServiceException(message, reason); }
public void TestIntialize() { user = new Microsoft.Graph.User() { Id = "1" }; group = new Microsoft.Graph.Group() { Id = "2" }; customDirectoryObject = new CustomDirectoryObject { ObjectDataId = $"{GraphApiSettings.GraphApiBaseUri}v1.0/{GraphApiSettings.TenantId}/directoryObjects/{user.Id}" }; groupAccessUri = $"{GraphApiSettings.GraphApiBaseUri}v1.0/{GraphApiSettings.TenantId}/groups/{group.Id}/members/$ref"; }