2012-11-16 1 views
2

J'essaie d'utiliser l'API google-voice-java pour lire des textes à partir d'un compte vocal google. Je ne trouve pas beaucoup de documentation sur son utilisation autre que la page code.google.com. J'ai juste besoin d'un peu d'aide pour utiliser correctement getSMS();Google-Voice-java getSMS()

Répondre

1

L'API google-voice-java renvoie simplement le code HTML brut de vos données Google Voice. Ainsi, vous devez analyser le code HTML renvoyé par getSMS(); et faire les données comme bon vous semble.

Si vous souhaitez simplement voir ce que les données renvoyées ressemble à une fenêtre de la console, procédez comme suit

Voice voice = new Voice(userName, password); 
String sms = voice.getSMS(); 
System.out.println(sms); 

Sur cette base, vous pouvez voir ce que le HTML ressemble et comment analyser par il. Editer: Probablement utile de noter que vous devez inclure le additional dependency jars à votre chemin de compilation; cela devrait être plus explicitement clair sur leur GettingStarted!

Édition 2: Basé sur votre commentaire ci-dessous, il ya le getUnreadSMS() et markAsRead(msgID), mais le premier semble renvoyer des messages SMS lus avec les non lus. Si vous remarquez en haut de la réponse XML retourné par la méthode getSMS() (et la majorité des autres méthodes API), il y a des données JSON dans l'élément <json>, qui semble avoir toutes les informations nécessaires dont vous avez besoin (y compris une variable isRead pour indiquer si un SMS est marqué comme lu, ou pas).

Déroulez une réponse de la méthode getSMS() et utilisez cette online JSON viewer pour mieux inspecter les données de l'élément <json>, afin que vous ayez une idée de ce qu'il y a dedans. Lorsque vous collez les données JSON dans la visionneuse en ligne, omettez les lignes <![CDATA et ]> à l'intérieur de l'élément <json>.

Je voudrais simplement installer un analyseur JSON (peut-être même utiliser GSON) et créer des objets de modèle SMS basés sur les données JSON, en ignorant complètement le HTML; Pour les messages non lus, vous souhaitez que les objets JSON avec le champ isRead soient définis sur false, évidemment. Vous pouvez ensuite utiliser le champ id pour passer dans la méthode markAsRead(msgID), pour les marquer en lecture (je viens de tester cette méthode et cela fonctionne).

+0

Oui, je l'utilise déjà. J'essaie de comprendre quelques autres choses comme seulement les nouveaux messages et signaler un message comme lu après reçu. – shinjuo

+0

Merci de répondre – shinjuo

+0

génial cela aidera beaucoup je pense – shinjuo

Questions connexes