I am trying to download recorded meetings from my webex account using NBR APIs
as mentioned in this link.
Cisco DevNet: WebEx Conferencing - NBR Web Services API
For using DownloadNBRStorageFile API, I need the following parameters.
|recordID||Long.||Unique identifier for each WebEx recording.|
|siteID||Long.||Unique identifier for each WebEx site.|
|ticket||String.||Ticket used to validate authentication and authorization.|
I believe I have to get ticket using GetStorageAccessTicket.
However, I am not able to figure out how to get siteId for my webex account (it is not
enterprise account, just an individual account).
My webex account is WebEx Meeting Center
Also, how I do get recordID needed in DownloadNBRStorageFile API ?
Any help is greatly appreciated.
Also, it will be very helpful if someone has working sample code which uses these APIs they can share.
Thanks in advance.
Put the download URL of any WebEx recording you have in new tab in chrome browser or any. After it asks for saving, save the file in your local. Now go to browser downloads section. There you will have the URL of the downloaded file. In that siteID will be there.
For recordID refer LstRecording method in XML API.
SiteID can also be obtained by contacting your WebEx Customer Success Manager.
How far did you get with this? I have been able to get my ticket, but when I use DownloadNBRStorageFile, my script or application times out. Also striking out with getNBRRecordIdList as this returns "No such operation 'getNBRRecordIdList.'" Any tips you can give would be appreciated.
Did not make any progress. I am not able to even get the ticket.
What are the ways you tried to generate ticket?
Which programming language you are using?
I am using PHP. I am able to generate the ticket and then download the recording.
I made some progress over the weekend. I imported the WSDL's into SoapUI, and that helped me iron out any formatting issues in the requests. As far as DownloadNBRStorageFile timing out on me, I think SoapUI and Postman are just not built for files that size. I was able to fix this in Python by streaming the http request and writing it to a file in chunks.
I have made it to the point where I have a python script that retrieves the storage access ticket, and then uses that ticket to download the file. However, I am having difficulty parsing the response. I get 3 pieces of content in the response
1) XML listing the Content-ID's of the two files
2) The file containing the recordings file name and RecordID
3) The actual .arf file
After I download it, I can open it in a text editor and take out all of the content ID headers so that there is only binary left in the file, and after I do that it will open in the ARF player. It would be best if I could find a way to parse the header info and just write two files as intended. But I am not sure the best way to go about it.
I've got something that is working in my tests, but I'm sure there has to be a better way to do this. I am downloading everything into one file, reopening the file, splitting it based on matching a series of two carriage returns and new lines, then rewriting the 4th part of the split into a new file and deleting the old one. I don't feel really good about it because if the formatting for the http response is off by a little it could hose the whole script. I will work on it more later. Uploading the files for where I am now with it.
Please sign in to leave a comment.