2016-07-13 19 views
0

Hallo möchte ich eine SMS-Bestätigung an Benutzer Telefonnummern senden. Ich habe es in ios getan, indem ich den Rest Api und es funktioniert. Aber kann mir jemand mit Android helfen, bekomme ich einen Fehler: code = 401, Nachricht = nicht autorisiert. Jede Hilfe würde geschätzt werden?Senden Sie SMS vom Client Android Twilio?

url = https://{AccountSid}:{AuthToken}@api.twilio.com/2010-04-01/AccountsAccountSid}/SMS/Messages 

private OkHttpClient mClient2 = new OkHttpClient(); 
Call post(String url, Callback callback) throws IOException { 
    Random rand = new Random(); 
    randomNum = 1000 + rand.nextInt((100000 - 1000) + 1); 
    RequestBody formBody = new FormBody.Builder() 
     .add("To", etNumber.getText().toString()) 

     .add("From", "+mynum") 

     .add("Body", "Your confirmation code for United taxi is" + randomNum) 
     .build(); 
    Request request = new Request.Builder() 
      .url(url) 
      .post(formBody) 
      .build(); 


    Call response = mClient2.newCall(request); 

    System.out.println(request.url()); 
    response.enqueue(callback); 
    return response; 

} 

Der WWW-Authenticate-Header ist:

WWW-Authenticate: Basic-realm = "Twilio API"

Antwort

1

Twilio Entwickler Evangelist hier.

Ich habe tatsächlich einen Blogbeitrag geschrieben, der erklärt, warum man solche Anfragen nicht direkt vom Gerät aus machen sollte, sondern einen Server in der Mitte. Es wird nicht nur Ihr Konto sicherer, sondern erleichtert auch das Debuggen erheblich.

Das Beste von allem, auch wenn Sie selbst kein Backend erstellen möchten, zeigt Ihnen mein Blogpost, wie Sie mit einem Klick eine bereitstellen.

Überprüfen Sie es here oder beginnen Sie mit Ihrer server-side language of choice und beenden Sie mit der Post.

Was die Fehler Sie bekommen, UNAUTHORIZED impliziert Sie nicht die richtige AccountSid & authToken vorbei. Wenn Sie immer noch den Weg gehen wollen, die Anfrage direkt vom Gerät aus zu machen, was wir wiederum nicht empfehlen, würde ich vorschlagen, die Anfrage von etwas wie Postman zum Beispiel zu stellen, um sicherzustellen, dass Sie Ihre haben Berechtigungsnachweise und verschieben Sie diese dann mit OkHttp auf das Gerät.

+0

Meine Anmeldeinformationen werden direkt von der Konsole kopiert.So denke ich, dass sie nicht falsch sind? –

+0

Ich habe das gleiche für IOS verwendet, aber es gibt keinen Fehler. –