Youtube Earning Reports and Youtube CMS Account - youtube-api

I am trying to Fetch earning reports for my channel i created.
I have registered my self as a youtube partner, i have linked my adsense account to my channel.
Now, when i try to fetch the Reports for earnings, it shows me insufficient permission.
Somewhere i read, that i should use content owner reports, so i was trying to figure out my content owner id,
i guess that is available on Youtube CMS Account, I guess, correct me if i am wrong.
So when i tried to open https://cms.youtube.com page, it gave me an error
Your Google Account is not linked with YouTube Content Manager. Please try a different account or contact your Technical Account Manager for assistance.
How to contact Technical Account Manager?
My Only need is to get the All the reports Including EARNINGS reports from API for my Channel.

To get earnings reports, you have to be a content owner, kind of network which has content management system. So actually you cannot get such a report.

Related

403 response when trying to pull Youtube content owner reports using Reporting API

I have been granted 'owner' rights to a YouTube content owner account and I have created oauth credentials for the account trying to access content owner reports with all the scopes described here: https://developers.google.com/youtube/analytics/v1/content_owner_reports
However, when I run the bulk report method reportTypes.list to try to see what content owner reports are available, I am always getting 403 (forbidden - The caller does not have permission) responses back. I got the same response using the analytics API by setting the contentOwner parameter.
Is there anything I will need to configure in the content owner account or in my account (as an owner of the content owner account) in order to be able to see the list of content owner reports? Or does my account need to be a channel account in order to view the content owner report?
Any help is appreciated. Thanks!
You may not be part of the partner program (within the link you posted):
Note: Content owner reports are only accessible to YouTube content partners who participate in the YouTube Partner Program.

Youtube Content ID API has not been used - error 403

I'm trying to get my content-owner-id for upload videos to other channels that I have, as described here.
I'm using the code below to get content-owner-id: (PHP)
$youtubePartner = new Google_Service_YouTubePartner($this->client);
$contentOwnersListResponse = $youtubePartner->contentOwners->listContentOwners(
array('fetchMine' => true));
$contentOwnerId = $contentOwnersListResponse['items'][0]['id'];
And this is the error I got:
A service error occurred: Error calling GET
googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true:
(403) Access Not Configured. Youtube Content ID API has not been used
in project XXXXXXXXXXXXX before or it is disabled. Enable it by
visiting
console.developers.google.com/apis/api/youtubePartner/overview?project=XXXXXXXXXX
then retry. If you enabled this API recently, wait a few minutes for
the action to propagate to our systems and retry.
I tried to go the the link https://console.developers.google.com/apis/api/youtubePartner/overview?project=XXXXXXXXXX but I get "The API doesn't exist or you don't have permission to access it".
Then I searched on google and find out that I need to become a CMS youtube account (I'm also a youtube partner). I also tried to go to cms.youtube.com and log in with my youtube account but I got:
Your Google Account is not linked with YouTube Content Manager. Please
try a different account or contact your Technical Account Manager for
assistance.
Can anyone explain me how to connect to CMS account?
Based from this thread:
You don't see it in the list auf available APIs, unless your account is connected to a CMS and some time has past... It takes 7-14 days unless the Content ID API is available for your account. This is a information i got from the support, but they told me, that it is an automated step.
Your account needs to be connected with a content owner. Be noted that a content owner and a partnered channel are not the same thing.
From this documentation, to request data from a YouTube Content Owner, you need to set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the content owner ID.
Check these related SO questions:
How do I get revenue reports from a YouTube CMS account using an API (for an MCN)?
Using the YouTube Analytics API with a CMS account

Can I access to many Youtube channels reports with a only one account?

I manage several Youtube channels, each with their Gmail account and now also associated with a Google+ account.
My question is: I can access, via Youtube Analytics API, to all my Youtube channels reports with a single Google account without having to choose between them? That is, a general account with permissions to access reports on all channels.
Thanks in advance.
Yes, you actually can have these different channels linked under a single Google account.
1) Set up a Google Plus Page for your YouTube account via https://www.youtube.com/account (requires g+ account) Note: This may overwrite avatar and channel title, and may change your YouTube display name to whatever you set your Page Title to be.
2) Your personal g+ account will be the owner of this Google plus page.
3) Repeat for other accounts, setting up their own google plus pages.
4) You can add your main personal g+ account (if you have one for each unique gmail) as a "manager" of these other pages, giving a single login access to the pages (and therefore all the associated YouTube accounts) via the drop down "switch acocunts" on YouTube (top right drop down)
5) After a page is old enough (2 weeks?) you can change owners so your main g+ page owns the page. Not necessary but helps consolidate + lets you abandon other personal g+ accounts.
Let me know if you're able to follow that. There are benefits to doing this with only a single channel. You won't be able to see "combined" analytics but you can switch accounts much, much easier.
This link provides the youtube channel report in range. But when used with google php library it get hooked in a "User login required Error!"
https://developers.google.com/apis-explorer/#p/youtubeAnalytics/v1/youtubeAnalytics.reports.query?ids=channel%253D%253DMINE&start-date=2014-05-01&end-date=2014-06-30&metrics=views&dimensions=day&_h=3&
Is there any way i can access the channel analytics report in youtube V3 same as like in v3
http://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=statistics&id=UCMGgBRBiijmpgL3xNuiDVOQ&_h=10&

Need help obtaining Content Owner Id

I'm struggling with retrieving the Content Owner-based YouTube Analytics Data. From this discussion (Obtaining the current user's YouTube content owner id), I learned that I need to query youtubePartner.contentOwners.list(fetchMine=true) to obtain the content owner info, of which the Id will be found.
My struggle is that when I call youtubePartner.contentOwners.list(fetchMine=true), I receive the reason "accessNotConfigured". I'm not sure why: I have YouTube Analytics enabled in the APIs Console for my app, and I have the https://www.googleapis.com/auth/youtubepartner scope configured in OAuth2 list of scopes during authentication.
Can anyone help me understand what I'm doing wrong?
You may have not enabled Partner API in your devconsole or your account may not be linked to a CMS account.

Using the YouTube Analytics API with a CMS account

I'm getting a 403 Forbidden error when trying to get youtube analytics api data using a CMS account.
Just to confirm, is a CMS account the same thing as a Service account?
I can get analytics data for channels that are owned by the oauth2 user but I get the 403 on any other channels that I have access to through my CMS account but am not the content owner of. (I have Administrator account level on the CMS account and the channels I get 403 error on have "Managed" relationship)
Question: Are there any plans to have youtube.analytics api support for querying channels managed under a CMS account?
It seems that since I can use that account to get all the analytics data for these channels using the CMS UI that I should be able to do the same using the API.
A YouTube Content Management System account is not the same thing as a Service Account. You won't get far with the YouTube APIs if you authenticate as a Service Account, since that Service Account won't have access to any actual YouTube channels. Authenticating as a CMS account, however, will give you what you want.
A lot of this recently made it into production, so let me lay out the full steps here explaining how folks with YouTube CMS access can run YouTube Analytics API reports against the channels and videos they manage.
(Optional) While authorized via OAuth 2 as the CMS account, using both the https://www.googleapis.com/auth/youtube.readonly and https://www.googleapis.com/auth/youtubepartner scopes, make a YouTube Data API v3 channels.list() call with the following parameters: part=snippet,contentDetails, managedByMe=true, maxResults=50, onBehalfOfContentOwner=CONTENT_OWNER_ID. CONTENT_OWNER_ID is the one value that you'll have to hardcode here, and it should be set to the "partner code" for your YouTube CMS account. This will give you back a list of up to 50 channels that your CMS account manages. (If you need more than 50, you'll need to page through the results.) The id of each channel will be returned in channel.id, and other useful information (like the uploads list id, if you want to get the list of videos in that channel) will also be returned.
If you already know the UC... channel id for the channel you want to run reports against, you could skip that step and go directly to the Analytics report.
To run a channel-level report on a managed channel, while authorized as the CMS account, make a YouTube Analytics API request with the following parameters: ids=contentOwner==CONTENT_OWNER_ID, filters=channel==UC..., and then any other report parameters you want.
To run a video-level report, set ids=contentOwner==CONTENT_OWNER_ID and filters=video==VIDEO_ID, where VIDEO_ID is the id of any video in any channel that the CMS account manages.
There are more details about content owner reports in the docs.

Resources