📌  相关文章
📜  从 google login firebase 获取 youtube 频道 ID - 无论代码示例

📅  最后修改于: 2022-03-11 14:58:40.453000             🧑  作者: Mango

代码示例1
this.loginMainGoogle = function (event) {
            gapi.auth2.getAuthInstance().signIn().then(function _firebaseSignIn(googleUser) {
                var unsubscribe = $rootScope.authObj.$onAuthStateChanged(function (firebaseUser) {
                    unsubscribe();

                    // Check if we are already signed-in Firebase with the correct user.
                    if (!_isUserEqual(googleUser, firebaseUser)) {
                        // Build Firebase credential with the Google ID token.
                        console.log(googleUser.getAuthResponse());
                        var credential = firebase.auth.GoogleAuthProvider.credential(
                            googleUser.getAuthResponse().id_token);

                        // Sign in with credential from the Google user.
                        return $rootScope.authObj.$signInWithCredential(credential)
                            .then(function (result) {

                                var ytToken = googleUser.getAuthResponse().access_token;
                                localStorage.setItem('gToken', ytToken);
                                $rootScope.tokenerino = ytToken;

                                $http.get("https://www.googleapis.com/youtube/v3/channels?part=id&mine=true&access_token=" + ytToken)
                                .then(function(response) {
                                    $rootScope.myChan = response.data.items[0].id;
                                    localStorage.setItem('myChannelId', $rootScope.myChan);
                                    updateYTChannel(result.uid, response.data.items[0].id);
                                });

                                $rootScope.currentLoginStatus = true;
                                $rootScope.notification("You Have Signed In");

                                //Don't redirect them if they login via a YouTube playlist
                                if ($location.path().indexOf('playlists') !== 1) {
                                    $state.go('mymusic');
                                }

                            }, function errorCallback(error) {
                                console.log(error);
                            });
                    }

                })

            });

        }