2015-09-29 12 views
7

Używam Google Sign-in do uwierzytelniania użytkowników w mojej witrynie, a następnie jako osobny krok z prośbą o uprawnienia offline.Obiekt GoogleUser nie ma metody grantOfflineAccess?

Zgodnie z dokumentacją obiekt GoogleUser powinien mieć metodę "grantOfflineAccess", która monituje o dodatkowe uprawnienia bez, zachęcając użytkownika do potwierdzenia swojego konta. Jednak sprawdzając obiekt w Firebug, znajduję wszystkie inne opisane metody, ale nie przyznamOfflineAccess.

Mam obejście, korzystając z metody obiektu Google Analytics przy użyciu metody grantOfflineAccess, ale to zmusza użytkownika do potwierdzenia konta (którego chciałbym uniknąć, ponieważ wykonał on ten krok podczas logowania), ponieważ wykonał on tylko. Chciałbym, aby login i autoryzacja odsyłaczy dostępu offline były oddzielne, więc mogę przeprowadzić między nimi walidację.

Czy dokumentacja jest zła/nieaktualna? Czy istnieje inny sposób na uzyskanie pożądanego zachowania?

Odpowiedz

8

Właśnie to sprawdziłem, metoda naprawdę nie istnieje. Myślę, że jest to w rzeczywistości błąd w dokumentach.

Więc trochę pogrzebałem i znalazłem inny sposób, aby osiągnąć to, co chcesz: Jest (pozornie nieudokumentowane) parametr o nazwie authuser. Jest to w zasadzie indeks konta, na którym jesteś zalogowany (0 dla pierwszego, 1 dla drugiego, ...). Google wykorzystuje to wewnętrznie dla rzeczy jak GoogleDocs itp Po kilka wywiercenie, znalazłem AUTHUSER w danych GoogleUser:

enter image description here

okazuje się, że wc to dane getAuthResponse(), dzięki czemu można uzyskać dostęp do tego indeksu z: gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().session_state.extraQueryParams.authuser.

Teraz można wywołać grantOfflineAccess z GoogleAuth z tego parametru, co prowadzi do następującego zaproszenia:

var auth = gapi.auth2.getAuthInstance(); 
var user = auth.currentUser.get(); 
auth.grantOfflineAccess({ 
    authuser: user.getAuthResponse().session_state.extraQueryParams.authuser 
}); 

To będzie otworzyć wiersz bez wyboru kont :-) Nadziei mogłem pomóc!

+0

Wielkie szablo, dzięki! – Wogan

Powiązane problemy