使用Twilio android发送短信

时间:2017-03-07 06:20:22

标签: android twilio-api

我正在尝试使用Twilio发送短信。我正在使用此post中给出的代码。但我得到的响应代码为201而不是200.而且响应<?xml version='1.0' encoding='UTF-8'?>很奇怪。代码或凭证有问题吗?

 private class AsyncTaskRunner extends AsyncTask<String, String, String> {

        private String resp;


        @Override
        protected String doInBackground(String... params) {

            try{
                String twilioSID="XYZ";
                String twilioSecret="ABC";



                String urlStr = "https://"+twilioSID+":"+twilioSecret+"@api.twilio.com/2010-04-01/Accounts/"+twilioSID+"/SMS/Messages";

                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(urlStr);
                String base64EncodedCredentials = "Basic "
                        + Base64.encodeToString(
                        ("XYZ" + ":" + "ABC").getBytes(),
                        Base64.NO_WRAP);


                httppost.setHeader("Authorization", base64EncodedCredentials);


                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("From", "+12389234455"));
                nameValuePairs.add(new BasicNameValuePair("To", "+918423664906"));
                nameValuePairs.add(new BasicNameValuePair("Body", "Welcome to Twilio"));

                httppost.setEntity(new UrlEncodedFormEntity(
                        nameValuePairs));

                // Execute HTTP Post Request
                HttpResponse response = httpclient.execute(httppost);
                int status = response.getStatusLine().getStatusCode();
                System.out.println("sammy_response_code "+status);
                HttpEntity entity = response.getEntity();
                if(entity != null){
                    resp = EntityUtils.toString(entity);
                }


            }catch (Exception e){
                System.out.println("sammy_Exception "+e);
            }


            return resp;
        }

            @Override
        protected void onPostExecute(String result) {
            //pd.dismiss();
                System.out.println("sammy_response "+result);

        }






    }

2 个答案:

答案 0 :(得分:0)

请检查以下所有内容:

201回复

  1. “To”电话号码是否正确?总是值得一试......
  2. “收件人”手机有接收吗?如果没有,请尝试移动到某个位置 接待处再试一次。
  3. “收件人”电话是否接收其他来源发送的短信? 尝试使用另一部手机向“收件人”手机发送测试信息。
  4. 您发送的电话是否在国际范围内漫游? Twilio是 目前无法支持短信国际漫游。
  5. 国家/地区的“请勿联系”列表中的“收件人”电话号码 还是承运人?例如,印度有一个特别严格的国家Do 不联系列表。 “To”号码需要从任何号码中删除 在收到来自Twilio的短信之前,请不要联系列表。
  6. 您发送短信的国家/地区是否有特殊信息 必须使用前缀才能发送短信?墨西哥和 阿根廷就是这方面的例子。
  7. 结束号码的提供商是否将其过滤掉了?某些运营商会 发送大量短信的黑名单号码。尝试发送 来自另一个Twilio长代码的相同消息。如果它是正确的 收到后,您可能遇到了运营商的音量阈值。 有关详细信息,请查看此常见问题解答。
  8. 多次尝试。尝试多次都没有害处。试 再次通常是证明自己和那些帮助的最佳方式 你正在做的一切正确。一定要复印下来 每次未到达的尝试的SMS消息SID。

答案 1 :(得分:0)

当我在网址后面添加“.json”时,我收到了回复。现在即使响应代码是201,响应也会响起。