Ready to get started?

Learn more about CData Sync or sign up for a free trial:

Learn More

Replicate Multiple YouTube Analytics Accounts

Replicate multiple YouTube Analytics accounts to one or many databases.

CData Sync for YouTube Analytics is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. Both Sync for Windows and Sync for Java include a command-line interface (CLI) that makes it easy to manage multiple YouTube Analytics connections. In this article we show how to use the CLI to replicate multiple YouTube Analytics accounts.

Configure YouTube Analytics Connections

You can save connection and email notification settings in an XML configuration file. To replicate multiple YouTube Analytics accounts, use multiple configuration files. Below is an example configuration to replicate YouTube Analytics to SQLite:


<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>ContentOwnerId=MyContentOwnerId;ChannelId=MyChannelId;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime> <TaskSchedulerInterval>Never</TaskSchedulerInterval> </CDataSync>


<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>org.sqlite.JDBC</DatabaseProvider> <ConnectionString>ContentOwnerId=MyContentOwnerId;ChannelId=MyChannelId;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

YouTube Analytics uses the OAuth authentication standard. You can use the embedded CData OAuth credentials or you can register an application with Google to obtain your own.

In addition to the OAuth values, to access YouTube Analytics data set ChannelId to the Id of a YouTube channel. You can obtain the channel Id in the advanced account settings for your channel. If not specified, the channel of the currently authenticated user will be used.

If you want to generate content owner reports, specify the ContentOwnerId property. This is the Id of the copyright holder for content in YouTube's rights management system. The content owner is the person or organization that claims videos and sets their monetization policy.

Configure Queries for Each YouTube Analytics Instance

Sync enables you to control replication with standard SQL. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the YouTube Analytics API. The statement below caches and incrementally updates a table of YouTube Analytics data:


You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple YouTube Analytics accounts into the same database:

You can use a different table prefix in the REPLICATE SELECT statement:


Alternatively, you can use a different schema:


Run Sync

After you have configured the connection strings and replication queries, you can run Sync with the following command-line options:


YouTubeAnalyticsSync.exe -g MyProductionYouTubeAnalyticsConfig.xml -f MyProductionYouTubeAnalyticsSync.sql


java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar YouTubeAnalyticsSync.jar -g MyProductionYouTubeAnalyticsConfig.xml -f MyProductionYouTubeAnalyticsSync.sql