...
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.
Google 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.
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).
All projects created after July 28, 2020 must undergo a compliance audit to be able to make uploaded videoes “unlisted” or “public”. If this is not done, videos will be forced to be “private” when uploaded with the YouTube service. The compliance audit process can be initiated from https://support.google.com/youtube/contact/yt_api_form. Consider choosing the “Quota Extension Request” reason, to also increase the quota limit. See the “Important knowledge” section below for more information a bout this.
Expect the process to take a few weeks. The remaining configuration steps can be followed while waiting for the compliance audit response.
Digizuite Configuration
YouTube channel creation
...
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.
...
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 a higher limit from https://consolesupport.developers.google.com/apisyoutube/contact/api/youtube/quotasyt_api_form. This process might take a few weeks. Please ensure that you are logged in with the appropriate user when requesting more quota.