1

我正在尝试获取特定用户已注册的事件列表。注意:我可以获取我的事件,但是我需要以用户身份登录 :( Adob​​e 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"
      }
    }
      }
    }

提前致谢

4

1 回答 1

0

我的解决方案是运行所有事件,然后运行事件用户并比较用户,你有更好的!?因为这需要时间来运行所有 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;

    }
于 2014-03-14T12:49:55.957 回答