首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google-Voice-java getSMS()

Google-Voice-java getSMS()
EN

Stack Overflow用户
提问于 2012-11-16 14:40:24
回答 1查看 1.3K关注 0票数 2

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-18 00:59:05

google- Voice -java API将只返回Google Voice数据的原始HTML。因此,您需要解析getSMS();返回的超文本标记语言,并按您认为合适的方式处理数据。

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

代码语言:javascript
复制
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)方法,以将它们标记为已读(我刚刚测试了此方法,它可以正常工作)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13411689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档