2

我正在尝试使用 google-voice-java API 从 google 语音帐户中读取文本。除了 code.google.com 页面之外,我找不到太多关于使用它的文档。我只需要一点关于如何正确使用 getSMS() 的帮助;

4

1 回答 1

1

google-voice-java API 将简单地返回您的 Google Voice 数据的原始 HTML。因此,您需要解析由 返回的 HTML getSMS();,并按照您认为合适的方式处理数据。

如果您只想在控制台窗口中查看返回的数据的样子,请执行以下操作

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

基于此,您可以看到 HTML 的外观以及如何解析它。

编辑:可能值得注意的是,您需要在构建路径中包含其他依赖项 jar ;这应该在他们的GettingStarted上更加明确!

编辑 2:根据您在下面的评论,有getUnreadSMS()markAsRead(msgID),但前者似乎会返回已读短信和未读短信。

getSMS()如果您注意到该方法(以及大多数其他 API 方法)返回的响应 XML 的顶部,<json>元素中有 JSON 数据,它似乎包含您需要的所有必要信息(包括一个isRead变量来指示是否SMS 是否标记为已读)。

从该getSMS()方法中提取响应并使用此在线 JSON 查看器来更好地检查<json>元素中的数据,以便您了解其中的内容。当您将 JSON 数据粘贴到在线查看器中时,请省略元素内的前导<![CDATA和尾随。]><json>

我只需设置一个 JSON 解析器(甚至可能使用GSON)并基于 JSON 数据创建 SMS 模型对象,完全忽略 HTML;对于未读消息,显然您需要isRead字段设置为的 JSON 对象。false然后,您可以使用该id字段传递给markAsRead(msgID)方法,将它们标记为已读(我刚刚测试了这个方法并且它有效)。

于 2012-11-17T16:59:05.113 回答