Ошибка YouTube OAUTH2 JavaScript Auto Refresh - PullRequest
0 голосов
/ 30 сентября 2018

Я новичок в 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,

    }

})

}

...