cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1056
Views
5
Helpful
4
Replies

How to batch download all recordings in site by full admin

Patience Umoru
Cisco Employee
Cisco Employee
Moving his query here, so it can visible to us in case they have any follow up question: question from cmfan@mail.cgust.edu.tw
 
As I am a full admin, how can I download all Recordings which created by other host account in site ?
I can't find any batch download button/option neither in Control Hub, nor in REST API
 
Alternatively, can I get a list of all Recordings downloadUrl, then I can batch download by full admin ?
I have tried REST API [List Recordings], but recording doesn't share to me and downloadUrl is hidden
It seems that I can't download recording even if I am a full admin
 
 

20220408-163558.png

4 Replies 4

Jeff Marshall
Cisco Employee
Cisco Employee

The only other option for batch downloading recordings would be to use the NBR API. It does not require you to define the hostEmail for each host's recordings like the REST API does.
https://developer.cisco.com/docs/webex-meetings/#!nbr-web-services-api/overview

There is a python library on Github you can use as well. 
https://github.com/gve-sw/DownloadWebexRecordingsSample 

Patience Umoru
Cisco Employee
Cisco Employee

Hi @cmfan@mail.cgust.edu.tw If you're trying to pull recordings that belong to another host you need to be a full admin of the org,(which I confirmed you have the full admin role)  have the admin related scope applied to the token and include the hostEmail query parameter in your request, like https://webexapis.com/v1/recordings?meetingId=1a9250c7d493427ead930da7xxxxx4d&hostEmail=abc@xzy.com. Since, we are unable to see the request you have made did you specify the hostEmail in your request? Also, if you're using the personal access token that's generated by the developer portal. You would need to create an integration with the appropriate scopes and use that to generate an access token and use this access token to make your request and then the values will be returned correctly.
These links discuss how integrations work.
https://developer.webex.com/docs/integrations
https://developer.webex.com/blog/real-world-walkthrough-of-building-an-oauth-webex-integration
https://developer.cisco.com/learning/lab/collab-spark-auth/step/1

 

 

Hi @Patience Umoru thanks for support, I have build Integration for OAuth flow

and  OAuth token is working nicely

here's what I have done:

 

GET https://webexapis.com/v1/people?orgId=<orgId>&max=1000

I get hundreds of accounts in my site

 

use a `for` loop to call recordings api, iterate by hostEmail which get from accounts list

GET https://webexapis.com/v1/recordings?max=100&siteUrl=<siteId>.webex.com&hostEmail=<hostEmail>&from=2022-03-01&to=2022-04-06

response is success, and data is correct

but this is not a good approach for production, cause n+1 query problem

 

I have tried

GET https://webexapis.com/v1/recordings?max=100&siteUrl=<siteId>.webex.com&hostEmail=<hostEmailOne>&hostEmail=<hostEmailTwo>&from=2022-03-01&to=2022-04-06

but get response status code 401 and

{
    "message": "Target method cannot access because of unauthorized",
    "errors": [
        {
            "description": "Target method cannot access because of unauthorized"
        }
    ],
    "trackingId": "ROUTER_62569A48-BF8A-01BB-4F77-0AFE38534F77"
}

 

is there any method can get all/multiple hosts recordings in one api call ? (ignore paged)

Hi @OHua   You would need to define the hostEmail in order to pull recordings that belong to other hosts. This means that you would need to make multiple requests, one for every host, in order to pull all recordings for the site. It will not be possible to pull multiple host recording in one request using the https://developer.webex.com/docs/api/v1/recordings/list-recordings . However, the  LstRecording will allow an admin to list all recordings that belong to the meeting site without having to define the individual host emails.