2012-06-07 19 views
5

कृपया मेरे जीमेल स्थिति में उलटी गिनती प्रकाशित करना संभव है? "01: 44: 15: 23" और इसकी कमी लगातार की तरह।जीमेल स्थिति के माध्यम से उलटी गिनती कैसे प्रकाशित करें?

+2

मैं जानना चाहता हूं कि एपीआई द्वारा जीमेल स्टेटस संदेश बदलना संभव है या नहीं? एक और बात जो मैं जानना चाहता हूं वह यह है कि क्या एपीआई द्वारा जीमेल स्टेटस संदेश पढ़ना संभव है? –

+0

यह लिंक आपकी अवधारणा से संबंधित है, इसलिए इसके माध्यम से जाएं: .. http://stackoverflow.com/questions/7035687/get-user-login-status-on-facebook-by-real-time – sanghavi7

उत्तर

4

मिले एक अच्छा article to share:

गूगल टॉक तो XMPP का उपयोग करता है, तो आप के लिए एक XMPP client का उपयोग कर कनेक्ट कर सकते हैं अपने Google account आप गूगल टॉक के बजाय ग्राहक का उपयोग कर सकते हैं।

पूरे तंत्र भी आसान है (स्मैक XMPP Library प्रयुक्त क्योंकि यह आसान है और मुझे अच्छी तरह से कार्य करता है):

  1. लॉग इन।
  2. अब और लक्षित तिथि के बीच अंतर की गणना करें।
  3. अब और लक्षित तारीख के बीच उपस्थिति

लॉग इन

import org.jivesoftware.smack.XMPPConnection; 

public void connect() { 
    XMPPConnection connection = new XMPPConnection(server); //Server is gmail.com for Google Talk. 
    connection.connect(); 
    connection.login(username, password); //Username and password. 
} 

गणना अंतर भेजें

इस प्रक्रिया को जावा कैलेंडर और दिनांक वस्तुओं का उपयोग किया जाता है:

import java.util.Calendar; 
import java.util.Date; 

{ 
     Calendar calendar1 = Calendar.getInstance(); 
     Date d = new Date(); 
     calendar1.setTime(d); 

     Calendar calendar2 = Calendar.getInstance(); 
     calendar2.setTime(endLine); //End line is the date we're counting to. 

     long milliseconds1 = calendar1.getTimeInMillis(); 
     long milliseconds2 = calendar2.getTimeInMillis(); 
     long diff = milliseconds2 - milliseconds1; 

     long diffDays = diff/(24 * 60 * 60 * 1000); 
     diff = diff % (24 * 60 * 60 * 1000); 

     long diffHours = diff/(60 * 60 * 1000); 
     diff = diff % (60 * 60 * 1000); 

     long diffMinutes = diff/(60 * 1000); 
     diff = diff % (60 * 1000); 
} 

यह कोड दिन, घंटों और मिनटों में दो तिथियों के बीच अंतर की गणना करता है। गूगल में एक के बजाय इस बात लोगों के बाद

import org.jivesoftware.smack.packet.Presence; 

{ 
     String remaining = Long.toString(diffDays) + " day(s), " + Long.toString(diffHours) + " hour(s), " + Long.toString(diffMinutes) + " minute(s) " + message; //Message is usually: Until "something". 

     Presence presence = new Presence(Presence.Type.available); 
     presence.setStatus(remaining); 
     presence.setPriority(24); //Highest priority in Google Talk 
     presence.setMode(presenceMode); //This is one of XMPP modes (Available, Chat, DND, Away, XA). 
     connection.sendPacket(presence); 
} 

अपने नए स्थिति देखेंगे:

उपस्थिति

भेजें अंतर सब हमारे पास करने के लिए गणना करने के बाद उपस्थिति को भेजने के लिए है बात करें। (ध्यान दें कि आप Google टॉक के अंदर परिवर्तन नहीं देख पाएंगे, लेकिन बाकी आश्वासन दिया है कि यह बदल गया है। अगर आप यह सुनिश्चित करना चाहते हैं कि यह बदला गया है तो अपने दोस्तों में से एक को अपनी स्थिति बताने के लिए कहें)।

+0

PHP का उपयोग किया जा सकता है इसके लिए? –

+0

आप इस पर सहायता पा सकते हैं: http://code.google.com/p/xmpphp/ http://stackoverflow.com/questions/2495154/best-xmpp-client-php-javascript और http: //metajack.wordpress .com/2008/07/02/xmpp-है-बेहतर के साथ-बकवास / –

2

इसका बहुत सरल सिर्फ here से status-counter.jar डाउनलोड करने और एक स्क्रिप्ट फ़ाइल

java -jar /root/status-counter.jar -status SF -username [email protected] -password XXXXXX -datetime 2013-03-21T16:00:00+02:00 -type hours -decimals 0 

लिख सकते हैं और एक क्रॉन बारे में काम

*/5 * * * * /path/script.sh > /dev/null 

इस हर 5 मिनट में अपनी स्थिति को अद्यतन करता है क्या करना है। अधिक जानकारी here मिल सकती है।