Mamy aplikację, która opiera się na Google, aby uwierzytelnić użytkowników na naszym koncie Google Apps, a następnie przeprowadzić weryfikację serwerów i wyszukiwanie grup.Interfejs API Google+ nie zwraca pliku dostępowego JavaScript
Niedawno google zmienił nazwę obiektu przechowującego zmienną access_token wymaganą do uwierzytelnienia. W dokumentach (https://developers.google.com/identity/sign-in/web/reference#googleusergetbasicprofile) jest napisane, że access_token jest dostępny z metody getAuthResponse(), jednak gdy go użyję, wróci jako niezdefiniowany. Sprawdzanie obiektu po tym, jak plik console.log() ujawnia wszystkie inne wymienione pola oprócz parametru access_token. Martwię się, że Google zmieni obiekt ponownie w przyszłości i opuści nas bez naszej aplikacji. Oto kod.
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="https://apis.google.com/js/platform.js" async defer></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<meta name="google-signin-client_id" content="XXX.apps.googleusercontent.com">
<script>
//This happens after the user has authenticated with Google and has been passed
//back to the page
function onSignIn(googleUser) {
//Check to see whether the user is trying to sign out.
if (window.location.href.indexOf("signOut=1") !== -1) {
//Sign them out of the application.
signOut();
//redirect them to the same page, without the signOut query string so they can log back in if want
window.location.href='googlesigninform.html'
return false;
}
//Grab the token, access token and email.
var _id = googleUser.getAuthResponse().id_token; //This works
var _accessToken = googleUser.Ka.access_token; //This works but changed from googleUser.B.access_token
var profile = googleUser.getBasicProfile(); //Works
console.log(googleUser.access_token); //Undefined
console.log(googleUser.getAuthResponse().access_token);//Undefined
//Make a post request to the API
makePostRequest(_id, _accessToken, profile.getEmail());
}
Jaki jest prawidłowy sposób dostępu do zmiennej access_token?
Czy to, że głupie pytanie, na które nikt nie odpowiedzi? –
Zdarzyło się ponownie ostatniej nocy. Surowy obiekt ponownie zmienił nazwy i przerwał nasze aplikacje. –