5

nedeniyle yenileniyor. Gcloud app konuşmasını kullanarak bir uygulamayı dağıtıyorum. Bu saat çift için iyi çalışır ve daha sonra işleri aşağıdaki bilgileri günlüğüne ile takılıyorum:GAE Bir 401 (giriş 1/2)

03:54:59.748 Refreshing due to a 401 (attempt 1/2) 
03:58:44.816 Refreshing due to a 401 (attempt 1/2) 
03:58:55.781 Refreshing due to a 401 (attempt 1/2) 
03:58:56.317 Refreshing due to a 401 (attempt 1/2) 

iç ServiceName gelen günlüğe ediliyor gibi görünüyor: "appengine.googleapis.com" konuşlandırılmış uygulama okur

GCS’den bazı dosyalar ve google pubsub’u kullanarak bazı hesaplanmış metrikler yayınlar. Kimlik doğrulamak için kimlik bilgilerini kullanan google istemci API kitaplığını kullanıyorum.

credentials = GoogleCredentials.get_application_default() 
    if credentials.create_scoped_required(): 
     credentials = credentials.create_scoped(['https://www.googleapis.com/auth/devstorage.read_only) 
    http = httplib2.Http() 
    credentials.authorize(http) 
    return discovery.build('storage', 'v1', http=http) 

Pubsub için de benzer bir parçacık. Sorunun, 401 durum kodunu gösteren bilgi kayıtlarıyla sonsuza dek sıkışmış gibi göründüğü herhangi bir sorunu var. Talebin neden sadece zaman aşımına uğramadığından ve başarısızlıkla sonuçlandığından emin değil. herhangi bir geçici çözüm var mı?

+0

Önerilen [Google Cloud idiomatik kitaplıklarını] (https://cloud.google.com/apis/docs/cloud-client-libraries) kullanmamanız için herhangi bir sebep var mı? – Jofre

cevap

0

401 yetkisiz bir hatadır; bu, OAuth taşıyıcı belirtecinin artık geçerli olmadığı ve yenileme belirteci kullanılarak yenilenmesi gerektiği anlamına gelir. Açıkladığınız zaman çizelgeleri the duration of the bearer tokens ile eşleşiyor.

cloud idiomatic libraries veya GAE standardını kullanıyorsanız, kullanırım. Bu kütüphaneler, kimlik doğrulama işlemlerini kendileri üstlenir (zaman aşımına uğradıklarında belirteçlerin yenilenmesi dahil) ve App Engine'de kullanım için daha fazla optimizasyon içerir.