google-apiyoutube-javascript-apiyoutube-analytics-api

Youtube analytics api giving 'Code:400 The query is not supported.' error


I am using googleapi package.

I want to get 'insightTrafficSourceDetail' from youtube analytics API.

Here is my code:

google.youtubeAnalytics('v2').reports.query({
    metrics: 'estimatedMinutesWatched,views',
    dimensions: 'insightTrafficSourceDetail',
    filter: 'video==[some_video_id];insightTrafficSourceType==YT_SEARCH',
    startDate: '2019-01-01',
    endDate: '2019-02-12',
    ids: 'channel==MINE',
    sort: '-estimatedMinutesWatched',
    maxResults: 25,
  });

Here is the response I am getting:

  code: 400,
  errors:
   [ { message:
        'The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v2/available_reports for a list of supported queries.',
       domain: 'global',
       reason: 'badRequest' } ] }

Although in google docs, they have given the same request as sample request Top 10 – External websites that generate the most traffic for a video


Solution

  • google.youtubeAnalytics('v2').reports.query({
        metrics: 'estimatedMinutesWatched,views',
        dimensions: 'insightTrafficSourceDetail',
        filter: 'video==[some_video_id];insightTrafficSourceType==YT_SEARCH',
        startDate: '2019-01-01',
        endDate: '2019-02-12',
        ids: 'channel==MINE',
        sort: '-estimatedMinutesWatched',
        maxResults: 25,
      }); 
    

    In the above code, It should be 'filters' not 'filter'. When I replaced it, it started working perfectly.

    filters: 'video==[some_video_id];insightTrafficSourceType==YT_SEARCH',