2017-03-07 121 views
0

我想使用Twilio發送短信。我使用的是post中給出的代碼。但我得到的答覆代碼是201而不是200.答案<?xml version='1.0' encoding='UTF-8'?>也很奇怪。代碼或證書有錯嗎?使用Twilio發送短信android

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); 
 

 
     } 
 

 

 

 

 

 

 
    }

+0

https://www.twilio.com/blog/2016/05/how-to-send-an-sms-from-android.html –

回答

0

請波紋管檢查所有:

201響應

  1. 這是不是 「要」 的電話號碼是否正確?它總是值得檢查...
  2. 「To」手機是否有接待?如果沒有,請嘗試前往 的接待處,然後重試。
  3. 「收件人」手機是否收到其他來源發送的短信? 嘗試使用另一部手機向「手機」發送測試消息。
  4. 您正在發送漫遊到國際的電話? Twilio目前無法支持SMS的國際漫遊 。
  5. 是國家 或運營商的「請勿聯繫」列表中的「收件人」電話號碼?例如,印度有一個特別嚴格的國家Do 非聯繫清單。在收到來自Twilio的SMS消息之前,「To」號碼將需要從任何 Do Not Contact列表中刪除。
  6. 您正在發送短信的國家是否有特殊的 前綴,用於發送短信?墨西哥和 阿根廷是這方面的例子。
  7. 終端號碼的提供商是否過濾了它?某些運營商將 發送大量短信的黑名單號碼。嘗試從另一個Twilio長碼發送 相同的消息。如果正確收到 ,您可能會遇到運營商的音量閾值。 查看此FAQ以獲取更多信息。
  8. 嘗試多次。嘗試多次並沒有什麼壞處。再次嘗試 通常是向自己證明和幫助您確保一切正確無誤的最佳方式。一定要複製 SMS消息SID爲每個未到達的嘗試。
0

當我在URL後添加「.json」時,得到了迴應。即使響應代碼是201,響應即將到來。