如何根据内容所有者将Youtube货币数据加载到HTML

How to load Youtube Monetary data to HTML based on contentOwner

本文关键字:数据 货币 加载 HTML Youtube 何根 所有者      更新时间:2023-09-26

我正在尝试从html表单中获取输入并为内容所有者显示YouTube分析。我修改了以下示例:

https://developers.google.com/youtube/analytics/v1/sample-application

我正在使用以下范围

var OAUTH2_SCOPES = [ 'https://www.googleapis.com/auth/yt-analytics.readonly', 'https://www.googleapis.com/auth/yt-analytics-monetary.readonly', 'https://www.googleapis.com/auth/youtube.readonly', 'https://www.googleapis.com/auth/youtubepartner' ];

getUserMetrics() 函数是从我的 html 表单执行的:

  <div class="form">
Earnings and Ad Performance Metrics
<form name="metrics" action="form.asp">
  CMS Name: <input type="text" name="ownerName"/><br />
  Start date: <input type="date" name="startDate"/>
  End date: <input type="date" name="endDate"/>
  <input type="button"  value="Submit" onclick="getUserMetrics(ownerName,startDate,endDate)"/>
</form>

function getUserMetrics(ownerName,startDate,endDate){
  var owner = ownerName.value;
  var start = startDate.value;
  var end = endDate.value;
  var request = gapi.client.youtubeAnalytics.reports.query({
      'start-date': start,
      'end-date': end,
       ids: 'contentOwner=='+owner,
       metrics : 'views,earnings,grossRevenue,playbackBasedCpm,monetizedPlaybacks,impressions,impressionBasedCpm',
       filter: 'claimedStatus==claimed'
  });

request.execute(function(response){
    if("error" in response){
        console.log(response);
    }
    else{
        console.log("success");
    }
});

这在 API 资源管理器中效果很好:https://developers.google.com/apis-explorer/#p/youtubeAnalytics/v1/youtubeAnalytics.reports.query

使用相同的指标、过滤器等,但是从我的表单运行它时,我收到错误:不支持该查询。我最终想在 html 页面上显示结果,但似乎无法克服此错误。

我得到了一些帮助,并意识到我正在执行 POST 命令来获取此信息,而 API 资源管理器正在执行 GET。我删除了整个请求函数并执行了一个$.getJSON(url)函数,这用更少的代码解决了我的问题。