...
This page describes how to configure the YouTube Service to upload videos to YouTube and delete videos from YouTube. Two steps are required, namely Google configuration and Digizuite configuration. Be aware of the limitations and important knowledge. In particular, note the limit on the number of daily uploads from the quota system. A user must be an administrator or have the role “Youtube_Admin” to be able to do this. Be aware that a full configuration might take at least a few days due to a required compliance audit.
Google configuration
Customer guide: DC 5.4.0 4.13.1 Google Project configuration
Project setup
Some preliminary configuration must be done with Google:
Go to https://console.developers.google.com/, and make sure that you are logged in with the Google account that videos should be uploaded with. Thus, if you are setting this up for a customer, it should be the Google account they use for YouTube.
If you don’t already have a project, create a new project. Ensure that the appropriate project is selected in the top menu.
Enable “YouTube Data API v3” for the project.
Select “Library” in the left menu.
Search for “YouTube Data API v3”.
Select the search result and enable the API.
Setup an OAuth Consent Screen.
In the left menu, select “OAuth Consent Screen”.
Give the application a name.
In “Authorized Domains” enter the domain of the DAM Center installation. Google can figure out the domain part, if you are unsure. Thus, if the DAM Center is installed at e.g. “mm-dam.dev.digizuite.com”, you can enter this.
Save.
Create credentials.
In the left menu, select “Credentials”.
Click “Create Credentials” in the top menu, and choose “OAuth Client ID” (see image below).
Choose “Web application”.
Give the web application a name.
In “Authorized redirect URIs” enter: “<YOUR_DAM>/DigizuiteCore/YoutubeService/api/v1/YoutubeClients/OAuth2Callback”. E.g. if the DAM Center has been installed at “https://mm-dam.dev.digizuite.com”, the entry should be: “https://mm-dam.dev.digizuite.com/DigizuiteCore/YoutubeService/api/v1/YoutubeClients/OAuth2Callback”. NOTE: It is important that the DAM Center installation is the same that was registered in step 4.c.
Create the credentials.
You have now obtained a ClientId and a ClientSecret. If they aren’t immediately visible, they can be found by clicking the newly created entry in “OAuth 2.0 Client IDs” in the “Credentials” section. These will be needed later.
...
Project compliance audit
YouTube has three privacy categories for uploaded videos: “private”, “unlisted”, and “public” (see https://support.google.com/youtube/answer/157177?co=GENIE.Platform%3DDesktop&hl=en for more information).
...
Expect the compliance audit process to take at least a few days. The remaining configuration steps can be followed while waiting for the compliance audit response.
Digizuite configuration
YouTube channel creation
A specific channel for videos should be created in the DAM Center. If you already have the ChannelId of the channel to use, you can skip this step.
Go to the DAM Center used in the configuration above.
In “Channels”, create a new folder by right-clicking the channels area.
Give the channel a name. E.g. “YouTube”.
The ChannelId will be needed in a moment. This can be found by right-clicking the created channel, and selecting “Edit folder rights” (see image below).
...
YouTube client creation
A YouTube client can now be created in MM5.
...
Videos can be uploaded to YouTube by simply dragging them to the YouTube channel in the DAM Center. Once they have been successfully uploaded, they can be deleted from YouTube again by unpublishing them from the YouTube channel in the DAM Center. A workflow can, of course, also be set up for this.
Search configuration
This step is optional.
As mentioned above, it is possible to configure the search used for retrieving information about a video when uploading it. By default, the “GetYoutubeInformation” search is used, and this search fetches the title and the description of the asset by default.
...
The “GetYoutubeInformation” search can be freely configured. However, the search must include at least two output fields with ids:
“title”
“description”
Limitations
The YouTube Service has the following limitations:
A video is not necessarily uploaded completely to YouTube when it appears as published to the YouTube channel in the DAM Center. Thus, the green check-mark in the DAM Center does not reflect the upload status. A consequence of this is that unpublishing a video from the YouTube channel in the DAM Center immediately after it has been published might not prevent the video from being uploaded.
If something goes wrong while a video is being uploaded, the upload will automatically be retried. However, this might result in some failed “ghost” videos appearing in YouTube. These failed videos will not be visible for others, and they can safely be manually deleted.
Republishing a video in the YouTube channel in the DAM Center has no effect on YouTube. If the video should be uploaded again, a workaround is to unpublish and then publish the video.
When a video has been uploaded to YouTube with the YouTube Service, changes to the video metadata in the DAM Center does not affect the uploaded video. Thus, changing e.g. the description of an uploaded video in the DAM Center does not change the description on YouTube. Similarly, changing the video description from YouTube Studio does not change the description in the DAM Center. If a metafield has been created for fetching the privacy status, changing the value of this metafield for an uploaded video does not change the actual privacy status on YouTube. Either change the value from YouTube Studio, or unpublish the video, change the metafield value, and then publish the video to the YouTube channel again.
Replacing a video that has been uploaded to YouTube with the YouTube Service does not replace the video on YouTube. A workaround is to unpublish the video from the YouTube channel, replace it, and then publish it to the YouTube channel again.
Important knowledge
At most 1 YouTube client should be created per ClientId from Google.
All non-recoverable errors are collected in the error queue “YoutubeService.error” in RabbitMQ.
Videos uploaded with the YouTube Service should also be deleted with the YouTube Service by unpublishing or deleting the video in the DAM Center. If a video has been deleted manually from YouTube, the video will still appear as published in the DAM Center.
Google has a “Quota” system that limits the number of calls to their APIs. For a new project, the default limit is 10,000 per day for the YouTube API, which amounts to approximately 6 video uploads per day. If the limit is reached when trying to upload a video, the upload will end up in the error queue in RabbitMQ, from where it can be retried when more quota is available. It is, of course, also always possible to retry an upload by unpublishing and publishing the video again when more quota is available. The quota usage can be monitored from https://console.developers.google.com/apis/api/youtube.googleapis.com/overview. It is possible to apply for an increased daily quota from https://support.google.com/youtube/contact/yt_api_form. See the “Project compliance audit” section on this page for more information.
...