我正在尝试使用google- voice -java API来读取来自google语音帐户的文本。除了code.google.com页面之外,我找不到太多关于使用它的文档。我只需要一点关于如何正确使用getSMS()的帮助;
发布于 2012-11-18 00:59:05
google- Voice -java API将只返回Google Voice数据的原始HTML。因此,您需要解析getSMS();返回的超文本标记语言,并按您认为合适的方式处理数据。
如果您只想查看控制台窗口中返回的数据的外观,请执行以下操作
Voice voice = new Voice(userName, password);
String sms = voice.getSMS();
System.out.println(sms);在此基础上,您可以看到HTML的外观以及如何解析它。
编辑:可能值得注意的是,您需要在构建路径中包含additional dependency jars;这应该在他们的GettingStarted上更明确!
编辑2:根据你下面的评论,有getUnreadSMS()和markAsRead(msgID),但前者似乎返回已读的短信和未读的短信。
如果您注意到,在getSMS()方法(和大多数其他API方法)返回的响应XML的顶部,<json>元素中有JSON数据,它似乎包含了所需的所有必要信息(包括一个isRead变量,用于指示短消息是否被标记为已读)。
从getSMS()方法中拉出一个响应,并使用此online JSON viewer更好地检查<json>元素中的数据,这样您就对其中的内容有了大致的了解。当您将JSON数据粘贴到在线查看器中时,省略<json>元素中的前导<![CDATA和尾随]>。
我只需要设置一个JSON解析器(甚至可以使用GSON),并基于JSON数据创建SMS模型对象,完全忽略HTML;对于未读消息,您显然需要将isRead字段设置为false的JSON对象。然后,您可以使用id字段传递给markAsRead(msgID)方法,以将它们标记为已读(我刚刚测试了此方法,它可以正常工作)。
https://stackoverflow.com/questions/13411689
复制相似问题