2016-01-22 17 views
5

Google dokümanında gösterildiği gibi sunucu tarafı uygulamaları için Google Sign-In'i çalıştırmaya çalışıyorum: Google Sign-In for server-side apps, ancak izin penceresi asla çevrimdışı erişim istemez. Bir kullanıcı seçtikten sonra sadece imzalayan işleyici işlevini kapatır ve çağırır.Google javascript oturum açma api: çevrim dışı erişim yok

Sonuç olarak, bir zaman kodunu aldığım ve sunucuya gönderdiğimde, yalnızca erişim ve kimlik belirteçleri için yenileme yenilemesi için değiştiremiyorum. HTML dosyasında

:

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script> 

Javascript kodu: Google konsolunda, projenin bir web istemcisi kimlik içeriyor

var auth2; 
function init() { 
    gapi.load('auth2', function() { 
     auth2 = gapi.auth2.init({ 
      client_id: '<my client id>.apps.googleusercontent.com', 
      scope: 'https://www.google.com/m8/feeds https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.appfolder' 
     }); 
    }); 
    $('#signinButton').click(function() { 
     auth2.grantOfflineAccess({'redirect_uri': 'postmessage'}).then(onSignIn); 
    }); 
} 

function onSignIn(authResult) { 
    if (authResult['code']) { 
    // Send the code to the server 
    } 
} 

İşte

müvekkilim kodudur İlgili javascript kaynakları ve Yetkili yönlendirme URI'leri yok.

numaralı telefona ne yapmalıyım? Çevrimdışı erişim için sormak üzere izin penceresini zorlar mı?

cevap

7

Çevrimdışı istemi, 'approval_prompt' : 'force' parametresini auth2.grantOfflineAccess işlev çağrısına ekleyerek zorlayabiliyorum.

E.g.

auth2.grantOfflineAccess({'redirect_uri' : 'postmessage', 'approval_prompt' : 'force'}).then(onSignIn);

+0

Teşekkür ederim Mael! Gerçekten her defasında çevrimdışı erişim için sorar ve yenileme belirtecine sahibim. – burgi

+0

Çalıştığına sevindim @burgi! Btw, sunucu taraflı giriş ile artan bir şekilde yetki verebiliyor musunuz? Bu sorunun üstesinden geldim: http://stackoverflow.com/questions/35023983/incremental-combined-authorization-with-google-signin-for-server-side-apps ve her yeni kullanıcı için yetki vermesini istediğim sonuç belirteci önceki yetkili kapsamları geçersiz kılar ... – Mael

+0

Üzgünüm @Mael, incremental auth kullanmıyorum. İş mantığım, gelişmiş tüm izinleri almayı gerektirir. – burgi

İlgili konular