This page describes how to configure Integration Endpoint to push upload video assets to Youtube.
Pre-requisites:
You need a developers account and a project (Check out this guide for more info: https://developers.google.
Remember that the Integration Endpoints can be configured from MM5 under settings:
Channel Folder
First ensure that you have a channel folder for youtube. Go to your DAM Center and create a channel folder.
Events
For the type of events, go to the DC 5.2.0 4.6 Integration Endpoint page and check the different eventscom/youtube/v3/getting-started)
In your project, you must enable the Youtube Data API v3. The Youtube API can be enabled from the developer portal: https://console.developers.google.com/apis/api/youtube.googleapis.com/overview
When you have enabled it, then you will be able to select it and see the following view:
Initialization & Configuration
Access your MM, and enter Settings.
In here, you will have to create a new endpoint. You should be seeing the following screens - just without the data filled in
(YT folder is a folder in the channel area in the DC)
The following steps will guide you to fill this form out correctly.
Title
Simply name your integration endpoint something descriptive.
Folder ID
In your DAM Center ("DC" henceforth), you must create a new folder.
Go to the DC, right-click Channels → Add folder
Name it "Youtube" /or something else if you prefer)
Right-click the Youtube folder, and press "Edit Folder Rights"
Input the number into your integration form.
Google Information (Secret Client, User Id, Redirect Uri)
You need to fill in some additional google information which is important
- ClientSecretJsonString:
- Can be found here (see section about obtaining youtube client secret below):
- Refresh Token: Please ignore this field
- UserId: The email of the account that should be used to upload. Usually a Gmail email.
- Redirect URI: The URL of your DC with the following appended "/api/v1/IntegrationEndpoint/google-integration-signin". Example: https://YOURDC/api/v1/IntegrationEndpoint/google-integration-signin (from the Digizuite API)
Obtaining your Youtube client secret
Access https://console.cloud.google.com/apis/api/youtube.googleapis.com/credentials and log in as your Google user.
Go to the developer's console and download the JSON file as illustrated below.
If you have no OAuth 2.0 Client ID, please create one using the "Create Credentials" - also shown in the image above.
Info |
---|
It's imperative that the client secret is added to the integration endpoint configuration. |
The contents of the Json file is the secret. All of it must be copied into ClientSecretJsonString textfield.
Obtaining the Refresh Token and become Authenticated
The Integration Service now has an endpoint which will provide you with a login URL for google. It uses the definitions on the endpoint to create the google auth URL such as client id, redirect uri. A swagger screenshot can be sen here and it is important to authorize using a digizuite access key to be able to generate the result.
The result will be a url looking like this:
https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&response_type=code&client_id={CLIENT_ID}&redirect_uri=https://YOURDAMIN/digizuitecore/api/v1/google-integration-signin&scope=https://www.googleapis.com/auth/youtube.upload&state=02015ede-eded-4844-a4f1-ca568cea7d9b
This should be automated in MM5 but it can also be manually constructed by taking the above URL and put in (fetched from your integration endpoint in MM5):
- Client ID
- Redirect URI (as described above - has to be the digizuite integration api)
- Uid of the integration endpoint to use
Copy and pasting the link into your browser will ensure that you are validated by google and give you this mesage:
Ensuring that the redirect URL corresponds to an authorized redirect URL (where you configure your secrets):
But at the same time ensure that the domain is authorized on your account:
Events Definition
For the type of events which export to Youtube will trigger on, please go to the page named "4.6 Integration Endpoint" to get a full overview.
In this context, it would make most sense to at least subscribe to profile published of videos which handles video publishing (only to the channel that has been configured) + unpublish/publish as shown here:
Obtaining your Youtube client secret
It is important to obtain a client secret from your developer for this to work. Go to the developers console and download the json file as illustrated below. The content of that file must be used as input in the integration endpoint configuration.
...
Search name
In the Search name field input "exportSearch"
Some versions of the DC require you to manually "install" the exportSearch.
Please look at for more info if in doubt.
Export media format ID
Go to formats in the DAM Center DC and get the format id ID that corresponds to the published profiles that you are "subscribing" to. (In the field "Subscribe to profiles")
For instance, the profile selected above contains the following formats (480p is highlighted here):
Go to formats and get the ID of 480p:
In here you can see a list of export formats and the id ID to the very left.
Configuration
Go to the settings page and create a new Integration Endpoint. Important is to
- get the channel folder ID (the one you just created above)
- Select the export type to youtube
- Copy&Paste the json secret
- select published profiles
- get the export format id
(In this case 50038)
Test the Integration
You can easily test the integration by dragging in a video to the Youtube channel folder (and make sure that it actually uses the right profile on publishing).
You can check Youtube Stuido (https://studio.youtube.com). Your video should now be there.
If nothing happens then check the endpoint for error events. Can be done in MM5 under settings.