Analytics by Playlists

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.

CodePen

Source code

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

Sample app

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

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"
      ]

Using the CodePen

Here are some tips to effectively use the above CodePen:

  • Toggle the actual display of the app 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 repository. 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.