Search code examples
adobe-connect

How do I get a realtime list of all seminars in a given room, filtered by time period, via Adobe Connect's API?


We are attempting to build free/busy calendars on our website for our Adobe Connect seminar rooms using data provided by the Adobe Connect API.

Our first attempt used sco-session-seminar-list. This returned data in the expected format and seemed to work perfectly. However, upon review we found that many existing sessions were not being returned. Some of the rooms do not have the API user setup as a host or presenter, so I suspect that may be causing a problem, though the user can see these sessions in the admin which indicates to me that they should have access.

We then tried report-bulk-objects. This did return all seminars as desired. However, it hits the reporting database which means that seminars created in the last 24 hours may not appear. Worse, it does not appear that there is any way to filter by room (or parent sco-id) using this method.

I cannot find any other relevant methods in the API documentation that would work better than the above two for our needs. However, it seems like a free/busy calendar should be a relatively common use of the API.


Solution

  • We finally found a non-intuitively named function that worked for this sort of information:

    url="http://#AdobeConnectUrl#/api/xml
        name="action"                   value="sco-expanded-contents"> 
        name="sco-id"                   value="#roomID#">
        name="filter-gte-date-begin"    value="2015-01-01">
        name="filter-lte-date-begin"    value="2015-01-08">
    

    This function will also work for a more informational calendar as it returns details other than just the start and end times (such as the seminar name). It pulls all sessions that occur under the sco-id requested, including those in subfolders. It also runs in real-time.