微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法发送阿拉伯语短信 twilio

如何解决无法发送阿拉伯语短信 twilio

我想发送包含阿拉伯语字母的短信,但是当我发送短信时。它是这样发送的:??????? 这个问题有什么解决办法吗? 谢谢。

代码

try{

String twilioSID="AC2be050f87d26aa4b44186c50f6e610e2";
 String twilioSecret="abc123";



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

                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(urlStr);
                String base64EncodedCredentials = "Basic "
                        + Base64.encodetoString(
                        ("AC2be050f87d26aa4b44186c50f6e610e2" + ":" + "abc123").getBytes(),Base64.NO_WRAP);


                httppost.setHeader("Authorization",base64EncodedCredentials);
                String randomCode2 = UUID.randomUUID().toString().substring(0,5);
                String getmob = getIntent().getStringExtra("mob");
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("From","+1334254136528"));
                nameValuePairs.add(new BasicNameValuePair("To",getmob));
                nameValuePairs.add(new BasicNameValuePair("Body","كود السحب على الهدية \n" +
                        "("+randomCode2+")\n" +
                        "احتفظ بيه"));

                try {
                    httppost.setEntity(new UrlEncodedFormEntity(
                            nameValuePairs));
                } catch (UnsupportedEncodingException e) {
                    e.printstacktrace();
                }

解决方法

这里是 Twilio 开发者布道者。

这里有几件事我需要告诉你。

首先,请不要公开分享您的身份验证令牌。使用您的帐户 SID 和身份验证令牌,恶意用户可能会滥用您的帐户。我建议您立即change your Auth Token以避免任何攻击。

接下来,您已标记此 Android,因此我假设您是在 Android 应用程序中执行此操作。您不应从 Android 应用程序直接调用 Twilio API。这是因为要这样做,您需要包含您的身份验证令牌。在这种情况下,恶意用户可以反编译您的 Android 应用程序并提取您的身份验证令牌并使用它来滥用您的帐户。相反,您应该构建一个可以存储您的凭据并向 Twilio API 发出请求的服务器应用程序。这是关于 how to send an SMS from Android with Twilio 的博文。

最后,当您开始构建与 Twilio 的服务器端集成时,您使用了错误的 API 端点。您建立的网址是:

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

这是使用非常旧且已弃用的 /SMS/Messages 端点。相反,您应该使用更新的 Messages resource,其 URL 如下所示:

https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json

/SMS/Messages 端点不处理 ASCII 之外的字符,但 Messages resource 可以处理任何 unicode 字符。

由于您将构建服务器端集成,我建议您使用 Twilio helper libraries 之一,这样可以更轻松地向正确的资源发出请求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。