我正在尝试获取特定用户已注册的事件列表。注意:我可以获取我的事件,但随后我需要以用户身份登录:(Adobe Connect API 用户指南是这样说的:给定用户的登录名或主体 ID,此操作将返回用户参加的事件列表现在我是否获得用户将要参加的活动列表 - 已注册?...
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"
}
}
}
}
提前致谢
我的解决方案是通过所有事件运行,然后运行通过事件用户并比较用户,你有更好的一个吗!?这需要时间来运行所有 thouse 循环:这是我自己的解决方案:
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;
}