我是JS的新手,对您来说显而易见的事情对我而言并不明显,请记住这一点。
我正在尝试刷新我的OAuth令牌,因为YT将原始令牌的生命期延长1小时。我已经浏览了https://developers.google.com/youtube/v3/guides/auth/client-side-web-apps
上的API文档我最大的问题是我不确定如何在刷新功能中构造AJAX调用。我在下面列出了原始登录名和刷新功能。如果有人可以帮助我对AJAX结构进行排序,将不胜感激。
callYoutubeAPI: function (url, data, callback, retryCount) {
var self = this;
data.access_token = settings.access_token;
data.expires_in = 1;
retryCount = retryCount || 0;
if(retryCount <= 10)
{
return $.ajax({
url: constants.BASE_YOUTUBE_API_URL + url ,
type: "GET",
success: callback,
error: function (data) {
if(data.status == "401")
{
refreshToken(function(){
self.callYoutubeAPI(url, data, callback, retryCount++);
});
}
console.log(JSON.stringify(data));
},
data: data
});
}
},
};
function refreshToken(callBack)
{
$.ajax({
"type": "POST",
"url": constants.BASE_YOUTUBE_API_URL,
data:{
"client_id": constants.CLIENT_ID,
"scope": constants.SCOPE,
"response_type": "token",
"redirect_uri": constants.BASE_REDIRECT_OAUTH,
},
headers: {
"Authorization": 'Bearer ' + settings.refresh_token,
}
})
}