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