Limitations of this app
- The app updates all videos in the account with the same geo settings - it would be fairly simple to add options to select only a portion of the videos by requesting them by folder or some search criteria.
- There is no exception-handling - for a small account like the one used here, it doesn't matter much - if an API request times out, the app will fail at that point, and you can simply rerun it; for a large account, you would want to add some exception handling - at least keep track of
offsetvariable, which keeps track of how many videos have been processed, so that you could restart the app at that point.
- For a large account, this would take some time to complete processing; any videos added after the app begins processing will be missed. The app tells you how many videos it processed, however, so you could get another count of videos afterwards to see if any were missed. The result are sorted by creation date ascending, so the missed videos will be the last ones added to account.
To use the CMS API you will need proper credentials.
The easiest way to get credentials in most cases is through the Studio Admin API Authentication section (requires admin permissions on your account). See Managing API Authentication Credentials for details. In most cases, you probably just want to get permissions for all CMS API operation:
If the permissions you need are not available in Studio, or if you prefer to get them directly from the OAuth API, use your choice of the Get Client Credentials documents listed below. Whichever option you choose, you will need to ask for the correct operation permissions. The following can be used with cURL or Postman to get all permissions for the CMS API:
"operations": [ "video-cloud/video/all", "video-cloud/playlist/all", "video-cloud/sharing-relationships/all", "video-cloud/notifications/all" ]
Using the CodePen
Here are some tips to effectively use the above CodePen:
- Toggle the actual display of the player by clicking the Result button.
- Click the HTML/CSS/JS buttons to display ONE of the code types.
- Click Edit on CodePen in the upper right corner to fork this CodePen into your own account.
- Find all the code associated with this sample in this GitHub repository.
Below is the code for the proxy used with this sample. You can use it as is if you insert your
client_secret values on lines 22-23, and deploy the file to a server where PHP is running. Or you can use this as a model for building a proxy in whatever language you like. If you are creating a server-side app, you can simply build the logic to get access tokens into your app.