java - 谷歌语音java getSMS()

标签 java sms google-voice

我正在尝试使用 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/

相关文章:

java - 如何使用 Maven 签署多个 JNLP 应用程序

java - Java中从父列表调用子方法

java - 移动框架的鼠标事件不起作用

sms - 双向短信 - 发送/接收

Java 的 SHA-256 有时会返回 255 位

java - 使用正则表达式从字符串中删除一些额外的文本

node.js - Nodejs网站在后台执行

ios - 在 iOS 中是否有另一种启动消息应用程序的方法? (用于捐赠)

firebase - Google 版本的 amazon lex

android - 标准调用屏幕上的 Activity 窗口 - 启用按钮