我一直在使用 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视频一样。 一些公开的谷歌日历和公开的谷歌云端硬盘文件。