'Why is 'gapi.client.youtube' from Youtube Data Api V3 undefined?

I try to use the Youtube Data Api V3 with javascript

So i have this simple code :

<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"></script>        
<script type="text/javascript">
    $(window).load(function(){ 
        var viewCount, channelName, subscribers;
        gapi.client.load('youtube', 'v3');
        var request = gapi.client.youtube.channels.list({
            part: 'statistics',
            forUsername : 'GameSprout'
        });
        alert(request);
        alert("test");
    });
</script>

But i have this error :

TypeError: gapi.client.youtube is undefined

How can i fix that ?



Solution 1:[1]

You are trying to library before it was loaded. Instead of window.load, you should put library functions after googleApiClientReady. Here's a place to get you started: https://developers.google.com/api-client-library/javascript/samples/samples

Solution 2:[2]

you must call gapi.client.init() before use it.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ibrahim Ulukaya
Solution 2 Mehmed Cuhadar