2014-04-17 41 views
5

İlk kez ayarlamak zorunda kalmadan sunucu saatini elde etmenin bir yolu var mı? Sunucu zaman dönecektirİlk ayar yapmadan firebase sunucu zamanını geri alma

curl -X PUT -d '{".sv": "timestamp"}' https://SampleChat.firebaseIO-demo.com/servertime.json 

, ama bu benim Firebase örnek içinde değerini servertime ayarlar: Örneğin, ben sadece yapabilirsiniz. REST API'sini kullanıyorum.

+0

Firebase istemci-istemci iletişimi ile ilgili. Şu anda sunucu tarafındaki zamanı ortaya çıkardığını düşünmüyorum. –

+0

@FrankvanPuffelen Firebase'e girilen girişler için yukarıdaki JSON'u kullanabilir veya 'Firebase.ServerValue.TIMESTAMP' komutunu kullanabilirsiniz (bkz. Https://www.firebase.com/docs/managing-presence.html) - İyi yapabilirim ama aslında sunucu saatini yazmak istemiyorum, sadece almak istiyorum. Yukarıdaki çözüm gayet iyi çalışıyor, sadece değeri yazmak/silmek zorunda kalmadan bunu yapmak istiyorum. – Prisoner

+0

Aynı sorunla karşı karşıya kaldım ve yalnızca yer tutucu yerleştirdiğiniz ve sunucu gerçek zaman damgasına dönüştüğünde onu dinlemekten daha fazla kukla zaman damgası alanına ihtiyacınız var. Birden fazla kullanıcınız veya uygulamanız varsa, her biri için rekabet edebilecekleri bir alan olması gerekir. – webduvet

cevap

6

Sen .info/serverTimeOffset kullanarak bu yazmadan sunucu zamanı alabilirsiniz:

var fbRef = new Firebase(URL); 

var getServerTime = (function(ref) { 
    var offset = 0; 
    ref.child('.info/serverTimeOffset').on('value', function(snap) { 
     offset = snap.val(); 
    }); 

    return function() { 
     return Date.now() + offset; 
    } 
})(fbRef); 

var now = getServerTime(); 
+0

Bu değer REST API'sini kullanırken ne olur? Https://xxxxx.firebaseio.com/.info/serverTimeOffset.json olduğunu varsayalım ama bu geçersiz yol ' – Prisoner

+0

' REST API'sı üzerinden afaik üzerinden kullanılamaz. – Kato

+0

Ben de böyle düşünmüştüm (eski girdilerin, 15 dakika sonra otomatik olarak firebase sunucu zamanına bağlı olarak temizlenecek bir hizmet kullanıyorum). – Prisoner