Завершение работы Google plus API. Как это повлияет на вход в Google auth2 для веб-сайтов?

Я запутался с сообщениями об отключении от Google, одним из последних писем, упомянутых как

затрагиваются проекты, напрямую запрашивающие объем "plus.me". Эта область может быть указана в некоторых электронных письмах, даже если ваш проект не запросил об этом напрямую. Мы приносим извинения за любую путаницу.

Я использую следующий код JS для входа в систему, могу ли я знать, повлияет ли это в любом случае из-за отключения Google plus api?

<script async defer src="https://apis.google.com/js/api.js" onload="this.onload=function(){};HandleGoogleApiLibrary()" onreadystatechange="if (this.readyState === 'complete') this.onload()"></script>

<script type="text/javascript">
//google login starts
function HandleGoogleApiLibrary() {
    // Load "client" & "auth2" libraries
    gapi.load('client:auth2', {
        callback: function() {
            // Initialize client library
            // clientId & scope is provided => automatically initializes auth2 library
            gapi.client.init({
                apiKey: 'API KEY HERE',
                clientId: 'XXXXXXXXXXXXXXXXX.apps.googleusercontent.com',
                scope: 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email'                        
            }).then(
                // On success
                function(success) {
                    // After library is successfully loaded then enable the login button
                    //CODE AFTER SUCCESS
                }, 
                // On error
                function(error) {                    
                    alert('Error : Failed to Load Library');
                }
            );
        },
        onerror: function() {
            // Failed to load libraries
        }
    });
}

// Click on login button
$("#login-button").on('click', function() {
    // API call for Google login
    gapi.auth2.getAuthInstance().signIn().then(
        // On success
        function(success) {
            // API call to get user information
            gapi.client.request({ path: 'https://www.googleapis.com/plus/v1/people/me' }).then(
                // On success
                function(success) {
                    console.log(success);
                    var user_info = JSON.parse(success.body);                       
                    //VALIDATION                 
                },
                // On error
                function(error) {                                               
                    alert('Error : Failed to login');
                }
            );
        },
        // On error
        function(error) {
            $("#login-button").removeAttr('disabled');
            alert('Error : Login Failed');
        }
    );
});

1 ответ

Решение

Есть хорошие новости и плохие новости.

Хорошей новостью является то, что вы не используете ни одну из плюсовых областей.

Плохая новость заключается в том, что вы используете API плюс, который также закрывается и который был упомянут в предыдущем письме, которое должно было быть отправлено вам.

В частности, этот кусок кода:

gapi.client.request({ path: 'https://www.googleapis.com/plus/v1/people/me' }).then(

вызывает API "plus.people.me"

К счастью, вы должны иметь возможность переключаться на другой API, такой как API "userinfo", изменяя конечные точки на

https://www.googleapis.com/oauth2/v2/userinfo

Возможно, вы также захотите взглянуть на более современный People API, который работает очень похоже и немного сложнее, но может содержать и другие поля профиля.

Другие вопросы по тегам