0

J'essaie d'utiliser Google AppsScript pour trier toutes mes vidéos YouTube dans une feuille en fonction du revenu qu'elles ont gagné au cours du mois dernier. Cependant, je continue à obtenir une erreur lorsque je mets les « dimensions » à la vidéo:YouTube API - La vidéo en tant que dimension ne fonctionne pas, car maxResults ne fonctionne pas

Error:{ 
    "error":{ 
     "errors":[ 
     { 
      "domain":"global", 
      "reason":"badRequest", 
      "message":"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries." 
     } 
     ], 
     "code":400, 
     "message":"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries." 
    } 
}(line 53, 
file "Code", 
project "YoutubeAnalytics") 

Voici mon code:

var analyticsResponse = YouTubeAnalytics.reportsQuery('channel==' + channelId, 
    oneMonthAgoFormatted, 
    todayFormatted, 
    'views', 

{ 
    dimensions: 
    'video', 
    maxResults: 
    5, 
    sort: 
    '-views' 
}); 

Si je change simplement « vidéo » à « jour » ou « 7DayTotals » cela fonctionne comme prévu, car ce sont aussi des dimensions exemple énumérées ici: https://developers.google.com/youtube/analytics/v1/dimsmets/dims

(Fait intéressant, et un indice possible, la dimension « genre » ne fonctionne pas non plus, et jette la même erreur que ci-dessus)

Je soupçonne, en regardant des questions similaires sur StackOverflow, que le problème pourrait être que maxResults doit être déclaré, et pour une raison quelconque, le mien ne fonctionne pas. Même lorsque je définis les dimensions sur 'day' et que j'obtiens un rapport sans erreur, les valeurs maxResults ne sont jamais limitées à l'entier que je lui assigne. Il donnera plutôt 30 résultats puisque j'ai une autonomie de 30 jours et je lui donne une dimension «jour».

Toute aide serait grandement appréciée, merci.

+0

veux juste ajouter un lien vers la documentation spécifique pour l'utilisation de la dimension vidéo: https://developers.google.com/youtube/analytics/v1/channel_reports#top-videos-reports Je sens que je suis toutes les règles ici. dans AppsScript max-results est tapé maxResults) – IndieProgrammer

Répondre

0

OK. J'avais raison de supposer qu'ils ne m'aimaient pas en utilisant la vidéo comme dimension parce que maxResults ne fonctionnait pas.

La bonne façon de formater maxResults à l'intérieur de AppsScript est: 'max-résultats': '5'

Ainsi le terminé, le travail, la ligne de code est:

var analyticsResponse = YouTubeAnalytics.reportsQuery('channel==' + channelId, 
    oneMonthAgoFormatted, 
    todayFormatted, 
    'views', 

{ 
    dimensions: 'video', 
    'max-results': '5', 
    sort: '-views' 
}); 
0

Je pense que ce badRequest error se passe parce que dans le champ dimensions, au lieu de placer un ID vidéo valide, vous avez plutôt placé le mot "vidéo" littéral. Vérifiez la documentation:

vidéo (dimension de base)

L'ID d'une vidéo YouTube. Dans l'API de données YouTube, il s'agit de la valeur de la propriété id d'une ressource vidéo. C'est une dimension de base et est soumis à la politique de dépréciation.

+0

Etes-vous sûr que ce n'est pas l'utilisation correcte? Il semble que d'autres réponses sur SO ont exécuté avec succès un code similaire, voir: https://stackoverflow.com/questions/12982845/unable-to-retrieve-video-metrics-using-youtube-analytics-api?rq=1 Si ce n'est pas comme ça que la dimension 'video' devrait être utilisée, quelles modifications dois-je faire si je veux une liste de revenus publicitaires triés par vidéo, au lieu du jour? Je ne veux pas seulement les détails d'une vidéo, je veux une dimension entière pour lister les données demandées pour toutes les vidéos. Merci! – IndieProgrammer