AddMembersToExternalGroup (Date: 2018-10-24)
Original Post by Justin Lubbert, Moderator, October 24, 2018 at 8:54 AM
Hi,
I'm having some difficulty with the AddMembersToExternalGroup API call. I can successfully add members to a viewer group but not the creators (I'm trying to add Canvas teachers -> Panopto Creators). As indicated, we are using Canvas as our VLE. Here are my steps:
Get authentication object (c#):
PanoptoUserManagement.AuthenticationInfo authInfoapi = new PanoptoUserManagement.AuthenticationInfo()
{
UserKey = "USERID",
Password = "***"
};
And then
IUserManagement userMgr = new UserManagementClient();
Group [] groups = userMgr.GetGroupsByName(authInfoapi, "Autumn 2018 - PANU101 - Panopto 101::Viewer");
foreach (Group group in groups)
{
Which works (as does the same with Creator)
Next I get the userId for the user I want to add
string userName = "USERNAME"; // Is a teacher in PANU101 - Panopto 101
User panUser = userMgr.GetUserByKey(authInfoapi, "Canvas\\" + userName); // Has a Panopto presence
And if I find one (sometimes the users is not present in Panopto), I attempt to add to the group
if (panUser.UserId != Guid.Empty)
{
Guid[] userIds = new Guid[] { panUser.UserId }; //
Console.WriteLine("User ID: " + userIds[0]);
userMgr.AddMembersToExternalGroup(authInfoapi, group.MembershipProviderName, group.ExternalId.ToString(), userIds);
// Write out the Guids of the members
Guid[] users = userMgr.GetUsersInGroup(authInfoapi, group.Id);
Console.WriteLine(users.Length);
foreach (Guid user in users)
{
Console.WriteLine("User Id: " + user);
}
}
}
This works with the group noted but not "Autumn 2018 - PANU101 - Panopto 101::Creator". I suspect I'm missing something simple but I can't see it
Thanks
Simon
Responses
Hiroshi Ohno, Moderator, October 25, 2018 at 10:29 PM
Simon,
Thank you for asking this.
You could add a user to creator group by this API with some trick.
However, I am worried because you are using Canvas.
Panopto's Canvas integration updates group membership of those groups continuously based on Canvas's enrollment information.
Therefore, your operation via API may be dismissed.
I would recommend to discuss your requirement and possible options with your account's Customer Success Advocate before coding further.