使用Sinch发送短信(Android)

时间:2015-03-20 10:47:28

标签: android sinch

我正在尝试使用Sinch发送短信,但我从服务器收到404和500错误。

我阅读了Sinch文档,我的代码与示例相符。有什么遗失的吗?

您可以在下面看到我的代码。当我尝试读取InputStream时它会崩溃。

 public static boolean sendSMS(String message) {

        try {
            String phoneNumber = "00351961234567";
            URL url = new URL("https://messagingapi.sinch.com/v1/sms/ " + phoneNumber);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoOutput(true);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/json");
            String userCredentials = "application\\" + Constants.SINCH_APP_KEY + ":" + Constants.SINCH_APP_SECRET;

            byte[] encoded = Base64.encodeBase64(userCredentials.getBytes());
            String basicAuth = "Basic " + new String(encoded);
            connection.setRequestProperty("Authorization", basicAuth);

            String postData = "{\"From\":\"00351913470050\" \"Message\":\"" + message + "\"}";
            OutputStream os = connection.getOutputStream();
            os.write(postData.getBytes());
            int status = connection.getResponseCode();

            StringBuilder response = new StringBuilder();
            InputStreamReader is = new InputStreamReader(connection.getInputStream());
            BufferedReader br = new BufferedReader(is);
            String line;
            while ( (line = br.readLine()) != null)
                response.append(line);
            br.close();
            os.close();

            Log.i("SMS", response.toString());

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

        return false;
    }

1 个答案:

答案 0 :(得分:1)

我们支持的所有国家/地区现已列入白名单。你不应该有这个问题