2

テキスト メッセージを送信する必要がある学校用の Android アプリを作成しています。何人かから twilio を勧められたので、これを使うことにしました。このチュートリアルに従って: https://www.twilio.com/blog/2016/05/how-to-send-an-sms-from-android.html post が呼び出されたとき (ngrok で確認)。私は完全に途方に暮れていますが、まだAndroidは初めてです。バックエンドは intellij を介して次のメッセージを返します: 8810 [qtp649044888-15] INFO spark.http.matching.MatcherFilter - 要求されたルート [/] は受け入れのために Spark にマップされていません: [null]

x のバックエンドに置き換えられたアカウント ID、住所、電話番号など:

//Heroku assigns different port each time, hence reading it from process.
        ProcessBuilder process = new ProcessBuilder();
        Integer port;
        if (process.environment().get("PORT") != null) {
            port = Integer.parseInt(process.environment().get("PORT"));
        } else {
            port = 4567;
        }
        Spark.port(port);


        get("/", (req, res) -> "Hello, World");

        TwilioRestClient client = new TwilioRestClient.Builder(System.getenv("ACxxxxxxx72279fb226f0dd162c869ce1e"), System.getenv("xxxxxxxc324a89155b93b5af26393297")).build();

        post("/sms", (req, res) -> {
            String body = req.queryParams("Body");
            String to = req.queryParams("To");
            String from = System.getenv("216450xxxx");

            Message message = new MessageCreator(
                    new PhoneNumber(to),
                    new PhoneNumber(from),
                    body).create(client);

            return message.getSid();
        });

アプリポスト方式

Call post(String url, Callback callback) throws IOException {
        RequestBody formBody = new FormBody.Builder().add("To", "609420xxxx").add("Body", "TEST").build();
        Request request = new Request.Builder().url(url).post(formBody).build();
        Call response = mClient.newCall(request);
        response.enqueue(callback);
        Log.d("CALL: ", response.toString()+ "     " + callback.toString());
        return response;
    }

ボタンのアプリ投稿方法:

emailButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    post("http://xxxxxxxx.ngrok.io", new  Callback(){
                        @Override
                        public void onFailure(Call call, IOException e) {
                            e.printStackTrace();
                        }

                        @Override
                        public void onResponse(Call call, Response response) throws IOException {
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    Toast.makeText(getApplicationContext(),"SMS Sent!",Toast.LENGTH_SHORT).show();
                                }
                            });
                        }

                    });
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        });

これは私の番号 (twilio アカウントで確認済み) にテキストを送信するはずですが、何も届きません。テキストが送信されたことを示すトーストが表示されます。

4

1 に答える 1