Analytics/CMS APIs Sample: Analytics by Playlists

Product(s)
Video Cloud
Role(s)
API Developer
Topic(s)
Analytics
Code Samples
API(s)
Analytics API
CMS API

In this sample, you will learn how to use the CMS API and Analytics API together to select a playlist from your account and get analytics data for all the videos in the playlist.

Limitations

App Logic

This is a hybrid app that uses the CMS API to retrieve playlist information, and then the Analytics API to retrieve analytics for the videos in the playlist. There is a slight twist: for EXPLICIT (manual) playlist, the metadata includes the video ids, so we can take those directly to the Analytics API; for smart playlists, however, we need to go back to CMS API using the search, sort, and limit criteria for the playlist to get the video information, which we can then take to the Analytics API:

App Logic
App Logic

Getting Credentials

To get a client_id and client_secret, you will need to go to the OAuth UI and register this app:

These are the permissions you will need:

Analytics API Permissions
Analytics API Permissions

You can also get your credentials via CURL or Postman - see:

If you are getting credentials directly from the API, these are the permissions you need:

[
  "video-cloud/analytics/read",
  "video-cloud/video/read",
  "video-cloud/video/read"
]

CodePen

Find all the code associated with this sample in this GitHub repository.

See the Pen Analytics/CMS APIs Sample: Analytics by Playlists by Brightcove Learning Services (@rcrooks1969) on CodePen.

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.

Proxy code

In order to build your own version the sample app on this page, you must create and host your own proxy. (The proxies used by Brightcove Learning Services only accept requests from Brightcove domains.) A sample proxy, very similar to the one we use, but without the checks that block requests from non-Brightcove domains, can be found in this GitHub respository. You will also find basic instructions for using it there, and a more elaborate guide to building apps around the proxy in Using the REST APIs.