2

google-voice-java API を使用して、Google 音声アカウントからテキストを読み取ろうとしています。code.google.com ページ以外での使用に関するドキュメントはあまり見つかりません。getSMS(); を正しく使用する方法について少し助けが必要です。

4

1 に答える 1

1

google-voice-java APIは、GoogleVoiceデータの生のHTMLを返すだけです。したがって、によって返されるHTMLを解析し、getSMS();適切と思われるデータを処理する必要があります。

返されたデータがコンソールウィンドウでどのように表示されるかを確認したい場合は、次の手順を実行します。

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

これに基づいて、HTMLがどのように見えるか、およびHTMLを解析する方法を確認できます。

編集:おそらく、ビルドパスに追加の依存関係jarを含める必要があることに注意してください。それは彼らのGettingStartedでより明確にされるべきです!

編集2:以下のコメントに基づいて、とがありますgetUnreadSMS()markAsRead(msgID)、前者は未読メッセージと一緒に既読のSMSメッセージを返すようです。

getSMS()メソッド(および他のAPIメソッドの大部分)によって返される応答XMLの上部に気付くと、<json>要素にJSONデータがあり、必要なすべての情報isRead( SMSは既読かどうかのマークが付けられます)。

メソッドからの応答をプルダウンし、getSMS()このオンラインJSONビューアーを使用して、要素内のデータをより適切に検査します<json>。これにより、そこに何が含まれているかがわかります。JSONデータをオンラインビューアに貼り付けるときは、要素内の先頭<![CDATAと末尾を省略してください。]><json>

JSONパーサーをセットアップし(おそらくGSONを使用することもあります)、HTMLを完全に無視して、JSONデータに基づいてSMSモデルオブジェクトを作成します。未読メッセージの場合は、明らかに、isReadフィールドがに設定されたJSONオブジェクトが必要です。次に、フィールドをfalse使用してメソッドに渡し、読み取り済みとしてマークを付けることができます(このメソッドをテストしたところ、機能します)。idmarkAsRead(msgID)

于 2012-11-17T16:59:05.113 に答える