У меня есть код, который сначала загружает библиотеку Google Analytics с помощью JS, затем пользователь должен войти в систему, после чего у нас будет полный доступ к его учетной записи.
Как я могу сгенерировать токен доступа, используя JS чтобы получить данные (https://www.googleapis.com/auth/analytics
) от текущего пользователя?
Моя цель - внести изменения в учетную запись пользователя, даже если он не вошел в систему.
<script>
function authenticate(num) {
gapi.load('auth2', function() {
gapi.auth2.init({
client_id: "<?=$con_google_clientId?>",
}).then(function(){
auth2 = gapi.auth2.getAuthInstance();
if (auth2.isSignedIn.get() == false) {
return gapi.auth2.getAuthInstance().signIn({
scope: 'https://www.googleapis.com/auth/analytics'
})
.then(function() {
loadClient(num);
console.log("Sign-in successful");
},
function(err) {
console.error("Error signing in", err);
});
} else {
loadClient(num);
console.log("Logged in");
}
});
});
}
function loadClient(num) {
gapi.client.setApiKey("<?=$con_google_api_key?>");
return gapi.client.load('analytics', 'v3')
.then(function() {
console.log("API loaded correctly");
basicConnect(num);
},
function(err) {
console.error("Error loading API", err);
});
}
function basicConnect(num) {
return gapi.client.analytics.management.accounts.list({})
.then(function(response) {
var accountId = '';
for (var i = 0; i < Object.keys(response.result.items).length; i++) {
accountId = accountId + response.result.items[i].id + ',';
}
console.log("Loaded");
},
function(err) {
console.error("Execute error", err);
});
}
</script>