Как получить список событий пользователя из Adobe Connect API?
Я пытаюсь получить список событий, на которые подписался конкретный пользователь. Примечание: я могу получить my-events, но затем мне нужно войти в систему как пользователь:(В руководстве пользователя Adobe Connect API говорится следующее: учитывая имя пользователя или идентификатор участника, это действие возвращает список событий, которые посетил пользователь. получить список событий, которые пользователь собирается посетить - подписан на? ...
main()
{
//login as adiminstrator
ConnectAPI connectApi = new ConnectAPI(@"http://domain.adobeconnect.com","user@domain.com", "Password", "");
var listOfEventsJson = getUsersAttendedEvents("someUser@email.com", "someAccountId");
Console.WriteLine( listOfEventsJson );
}
Я получаю пустой список Json, когда использую
private String getUsersAttendedEvents(string login, string accountId)
{
if (_bzsession == "")
Login();
string queryString = "login=" + login +
"&account-id=" + accountId;
var result = Request("events-attendance", queryString);
return JsonConvert.SerializeXmlNode(result, Newtonsoft.Json.Formatting.Indented);
}
Результат ответа таков:
{
"results": {
"?xml": {
"@version": "1.0",
"@encoding": "utf-8"
},
"results": {
"status": {
"@code": "no-data"
}
}
}
}
заранее спасибо
1 ответ
Мое решение состоит в том, чтобы запускать все события и после запуска пользователей событий и сравнивать пользователей, у вас есть лучший вариант? Потому что это занимает время, чтобы пройти через все эти циклы: вот мое собственное решение:
public List<String> getUserAtendedEvents(String userEmail)
{
// get all upcoming Events Sco ID's
var scoIds = getAllEventsDataToClass().ScoIds;
List<String> userEvents = new List<string>();
// request Connect for Event info
// action=report-event-participants-complete-information&sco-id=1418245799
for (int i = 0; i < scoIds.Count; i++)
{
XDocument req = RequestXDoc("report-event-participants-complete-information", "sco-id=" + scoIds[i]);
var emails = req.Descendants().Attributes("login"); // ---- login emails
foreach (var email in emails)
{
if (email.Value.Equals(userEmail))
{
userEvents.Add(scoIds[i]);
}
}
}
return userEvents;
}