Я новичок в JS, очевидные вещи для вас отнюдь не очевидны для меня, пожалуйста, имейте это в виду.
Я пытаюсь обновить свой токен OAuthпоскольку YT делает продолжительность жизни оригинального токена 1 час.Я просмотрел документы API по https://developers.google.com/youtube/v3/guides/auth/client-side-web-apps
Моя самая большая проблема в том, что я просто не уверен, как создать вызов 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,
}
})
}