Debugging Network and API Connection issues with CMS and DAM Integrations

Product(s)
Video Cloud
Role(s)
Studio User
API Developer
Topic(s)
CMS Integrations

This topic discusses debugging network issues that prevent CMS and DAM integrations from accessing Brightcove APIs

The AEM, Drupal, SharePoint, Sitecore, and WordPress CMS connectors for Brightcove as well as CMS and DAM connectors developed by third parties require access to Brightcove’s REST APIs.  To use Brightcove APIs, they must first be enabled in Brightcove Studio under Admin->API Authentication.  Below is a typical configuration with necessary permissions for CMS connector use:

API Permissions
API Permissions

More details on managing API authentication can be found here.

After retrieving the clientID and client Secret from Brightcove and entering them into the CMS connector configuration, if the connector is unable to connect to Brightcove to synchronize videos there might be a firewall or other network configurations blocking access to Brightcove APIs.

The simplest way to test access to Brightcove APIs is with the simple shell script below.  Run this script from the CMS server itself or a Linux or OS X machine on the same network as the CMS server.  Be sure to update the script first with your Brightcove account ID (pubID), client ID, and client Secret.


#!/bin/sh

# Set up proxy if necessary
# export http_proxy="http://:"
# export https_proxy=" http://:"

# Enter pub_id, client_id, and client_secret below
PUB_ID='xxxxxx'
CLIENT_ID='xxxxxxxxxxxxxxxxxxxx'
CLIENT_SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_CALL='https://cms.api.brightcove.com/v1/accounts/'$PUB_ID'/videos'
VERB='GET'

TOKEN=$(curl -s --data "grant_type=client_credentials" https://oauth.brightcove.com/v4/access_token --header "Content-Type: application/x-www-form-urlencoded" --user "$CLIENT_ID:$CLIENT_SECRET" | sed -E 's/.*access_token\"\:\"([^\"]+)\".*/\1/');
RESPONSE=$(curl -s -v -X $VERB "$API_CALL" -d "$DATA" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json")
echo $RESPONSE

This script simply returns a list of videos from the account.   It does not perform any write operations on the Brightcove account.  If you do not see the list of videos or if you see an error message, then your network is blocking HTTPS access to either or both of the following API endpoints:

  • oath.brightcove.com
  • cms.api.brightcove.com

If those endpoints are being blocked, it is likely that the other Brightcove API endpoints used by CMS and DAM connectors are also being blocked.  These include:

  • ingest.api.brightcove.com
  • oauth.brightcove.com
  • ingestion.api.brightcove.com 
  • policy.api.brightcove.com 
  • players.api.brightcove.com
  • edge.api.brightcove.com
  • experiences.api.brightcove.com 

To use the CMS connectors, all nine of these endpoints will need to be accessible from the CMS server and responses from those endpoints also must be allowed to pass back to the CMS server.  If the firewall cannot be opened for the endpoints listed above and proxy support needs to be added to the CMS or DAM connector, contact your Brightcove representative about a custom development project for the CMS connectors listed above or contact the developer of the third party connector you are using.