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
DC 5.4.0 4.13.1 Google Project configuration
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.
Firstly, make sure that you are logged in with a user that has the “Youtube_Admin” role. Administrators have this role by default.
Then, click the “Settings” icon on the top-right corner. Select “YouTube”, and create a new YouTube client. The ClientID, ClientSecret, and ChannelId from the configuration above will be needed here. There are two parameters with default values:
Search Name. The name of the search used to fetch the title and description of an asset. By default, the “GetYoutubeInformation” search is used, which fetches the standard asset title and description. A custom search can be created and used, or the “GetYoutubeInformation” search can be customized. See below for more information.
Default Privacy Status. The default privacy status to use when uploading videos to YouTube. By default, this is set to “private”. Other possible values are “public” and “unlisted”. See https://support.google.com/youtube/answer/157177?co=GENIE.Platform%3DDesktop&hl=en for more information. Please be aware of the potentially required compliance audit, described above, when configuring this.
Once a YouTube client has been created, it needs to be authorized. This can be done via the UI in the settings section in MM5. After successful authorization, videos will automatically be uploaded to YouTube, when they are published to the created YouTube channel. A video, which has been published to the YouTube channel in the DAM Center and has been successfully uploaded, will be deleted from YouTube if it is either deleted from the DAM Center or unpublished.
An overview of the uploaded videos can be found by going to https://studio.youtube.com/. Ensure that a channel is created before trying to upload any videos with the YouTube service.
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.
It is possible to also fetch the privacy status when uploading an asset. This will override the default privacy status on the assets where it is set. This can be done with the following steps:
In the DAM Center, find the “GetYoutubeInformation” search for the DAM Center in the ConfigManager.
Add an output field with id “privacyStatus”. The field could for instance be a ComboValue with the options “private”, “unlisted”, and “public”. Be aware that the privacy status from the search is ignored if it is invalid. The default privacy status is used as a fallback.
Save the search.
It is now possible to set the privacy status for each asset.
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.