我在js中实现了Youtube Analytics API,一切正常。我是内容所有者,我想获取所有 channel 的分析并允许登录用户使用其分析。
例如,当某些用户登录我的仪表板时,我将其 channel ID传递给YouTube,这样就可以获取他们的数据。他们每次登录时都必须通过弹出窗口向YouTube进行身份验证。
我想知道有什么方法可以避免这种情况,并允许像内容所有者这样的人看到他们的数据。
我在用
window.onload = function () {
setInitialDates();
authenticate().then(loadClient).then(getDataFromAPI);
}
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/youtubepartner https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.readonly https://www.googleapis.com/auth/youtubepartner https://www.googleapis.com/auth/yt-analytics-monetary.readonly 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"); userLoaded = true; },
function (err) {console.error("Error loading GAPI client for API", err); userLoaded = false; });
}
最佳答案
对于您不必每次都登录的问题,您需要执行“服务器端流程”身份验证方法。
refresh_token
,您可以生成身份验证 token 以进行API调用。 https://developers.google.com/youtube/reporting/guides/authorization
https://developers.google.com/youtube/reporting/guides/authorization/server-side-web-apps
关于api - 适用于内容所有者的YouTube分析API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59086557/