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.com/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.
...
Input the number into your integration form.
Google Information (Secret Client, User Id, Redirect Uri)
You need to fill in some aditional additional google information that which is important
- ClientSecretJsonString:
...
- Secret Client Data
- Refresh token
- Just enter email
...
-
- 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.
...
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
...
Put this in browser and remember to put in your CLIENT ID first and make sure that the api allows the redirect URI as shown hee.
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/
...
Get the code from the redirect (important this redirect URL corresponds to access on your developer account project):
The client code above can be used to fetch a refresh token:
...
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 most sense to subscribe to profile which handles video publishing (only to the channel that has been configured) + unpublish/publish as shown here:
Search name
In the Search name field input "exportSearch"
...
Please look at for more info if in doubt.
Export media format ID
Go to formats in the DC and get the format ID that corresponds to the published profiles you are "subscribing" to. (In the field "Subscribe to profiles")
...
In here you can see a list of export formats and the ID to the very left. (In this case 50038)
Configuration
Go to the settings page and create a new Integration Endpoint. The most Important steps are:
- 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
...
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.