如何使用 Youtube 分析 API 从授权频道接收数据,而无需以频道所有者身份登录谷歌



我一直在使用 Youtube Analytics API v2 从 youtube 频道检索信息,当我使用它从当前通过 OAuth2.0 进行身份验证的用户的频道接收报告时,它一直在为我工作,我使用了他们网站中的示例代码来做到这一点,现在我所需要的只是接收这些报告,而无需以频道所有者的身份登录,该频道已经向API,我该怎么做?

我已经看到我需要 apiKey 来这样做,我已经在代码中的每个地方尝试了 gapi.client.setApiKey("API_KEY"( 代码,但我没有得到任何结果,也许我错过了别的东西,我从 youtube 分析网站挑选了示例代码并将"ids"参数从"channel==MINE"更改为"channel==PREVIOUSLY_AUTHORIZED_CHANNEL_ID",现在当我尝试在没有各自的位置访问它时,我收到错误 403(禁止(谷歌帐户。

<script src="https://apis.google.com/js/api.js"></script>
<script>
  function authenticate() {
      gapi.client.setApiKey("<API_KEY>");
    return gapi.auth2.getAuthInstance()
        .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})
        .then(function() { console.log("Sign-in successful"); },
              function(err) { console.error("Error signing in", err); });
  }
  function loadClient() {
    return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2")
        .then(function() { console.log("GAPI client loaded for API"); },
              function(err) { console.error("Error loading GAPI client for API", err); });
  }
  // Make sure the client is loaded and sign-in is complete before calling this method.
  function execute() {
    return gapi.client.youtubeAnalytics.reports.query({
      "ids": "channel==<PREVIOUSLY_AUTHORIZED_CHANNEL_ID>",
      "startDate": "2017-01-01",
      "endDate": "2017-12-31",
      "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained",
      "dimensions": "day",
      "sort": "day"
    })
        .then(function(response) {
                // Handle the results here (response.result has the parsed body).
                console.log("Response", response);
              },
              function(err) { console.error("Execute error", err); });
  }
  gapi.load("client:auth2", function() {
    gapi.auth2.init({client_id: '17857976174-df6g4g2kajnh8mpoebk0o10n4o7ddvb8.apps.googleusercontent.com'});
  });
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>

现在我只需要在不被认证为频道所有者的情况下接收这些报告,我该怎么做?

你不能。 YouTube 分析数据是私人用户数据。私人数据需要用户同意才能访问。 您能够访问它的唯一方法是在用户同意的情况下。

API 密钥用于访问公共数据。就像YouTube搜索公共YouTube视频一样。 一些公开的谷歌日历和公开的谷歌云端硬盘文件。

相关内容

  • 没有找到相关文章

最新更新