2017-05-22 20 views
0

Nexmoを介してメッセージを受信するためにどのようなアプローチを使用すべきか疑問に思っていました。 Nexmoはそこからメッセージを受け取る方法に関する明確な文書を持っていないようだから誰にもこの問題に関する経験がありましたか?どんな助けも素晴らしいだろう。Nexmo SMSを受信するJava

+0

に文書化されている方法の詳細最大10個の番号を追加して送信してください。この番号はすべて確認してから送信するための非常に単純なAPIを使用する必要があります。 –

+0

私は非常に簡単に送信できますが、メッセージを受信するだけで簡単にできますか? – Aaron

答えて

4

所有しているNexmo番号ごとに、その番号でSMSを受信したときにNexmoによって呼び出されるURLを設定できます。 GET要求には、受信したSMSに関する情報が要求パラメータとして含まれます。

開発マシンでホストされているURLにNexmoがアクセスできる必要があるため、少し複雑です(開発中)。おそらくインターネット上では公開されていません。このためには、ローカルマシン上のポートにパブリックURLを使用してトンネルを提供するNgrokのようなものを実行する必要があります。

私はそののparamsを出力し、単純なサーブレットで始まるお勧めします:

public class InboundSMSServlet extends HttpServlet { 
    @Override 
    protected void service(HttpServletRequest req, 
         HttpServletResponse resp) 
      throws ServletException, 
        java.io.IOException { 
     System.out.println("Received: " + req.getMethod()); 
     for (String param : Collections.list(req.getParameterNames())) { 
      String value = req.getParameter(param); 
      System.out.println(param + ": " + value); 
     } 
    } 
} 

...便利なURLにそれを設定...

<servlet> 
    <servlet-name>inbound-sms</servlet-name> 
    <servlet-class>getstarted.InboundSMSServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>inbound-sms</servlet-name> 
    <url-pattern>/inbound</url-pattern> 
</servlet-mapping> 

を実行し、両方のサーブレットコンテナを同時にngrokを実行し、最後に/YOUR_PROJECT_NAME/inboundのngrok URLが期待通りに機能することを確認します。次に、NexmoダッシュボードYour Numbersに行き、SMSメッセージを受信する番号のEditを押します。上でテストしたNgrok URLを入力してください。

設定した番号にSMSを送信すると、メッセージの内容がコンソールに表示されます。以下のようなもの:

Received: GET 
messageId: 0B0000004A2D09D9 
to: 447520666777 
text: Hello Nexmo! 
msisdn: 44772
type: text 
keyword: HELLO 
message-timestamp: 2017-04-27 14:41:32 

この作品は、私はあなたがアカウントを作成し、あなたの番号を追加する必要があり、ノード・アプリケーションで前Nexmoを使用して、検証のためのコードでSMSを受信しますNexmo site