2016-08-01 14 views
2

ボタンを押すとプリセット番号にテキストメッセージが送信され、TwilioをSMSメッセージに使用しているアプリを作ろうとしています。問題は私のアプリにSwiftを使用していることであり、現在は迅速な例はありません。これは、メッセージを送信するための私のコードです:TwilioスウィフトでSMSを送信する

func sendSMS() 
{ 

    let twilioSID = "AC11ed62fdb971a8f56d9be531a5ce40c2" 
    let twilioSecret = "mySecretID" 

    let fromNumber = "number" 
    let toNumber = "number" 
    let message = "This is a test message" 


    // Build the request 
    let request = NSMutableURLRequest(URL: NSURL(string:"https://\(twilioSID):\(twilioSecret)@api.twilio.com/2010-04-01/Accounts/\(twilioSID)/SMS/Messages")!) 
    request.HTTPMethod = "POST" 
    request.HTTPBody = "From=\(fromNumber)&To=\(toNumber)&Body=\(message)".dataUsingEncoding(NSUTF8StringEncoding) 

    // Build the completion block and send the request 
    NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data, response, error) in 
     print("Finished") 
     if let data = data, responseDetails = NSString(data: data, encoding: NSUTF8StringEncoding) { 
      // Success 
      print("Response: \(responseDetails)") 
     } else { 
      // Failure 
      print("Error: \(error)") 
     } 
    }).resume() 
} 

しかし、私は試してみて、その機能を実行するたびに、私はこの

Finished 
Response: <?xml version='1.0' encoding='UTF-8'?> 
<TwilioResponse><RestException><Code>20003</Code><Detail>Your AccountSid or AuthToken was incorrect.</Detail><Message>Authentication Error - No credentials provided</Message><MoreInfo>https://www.twilio.com/docs/errors/20003</MoreInfo><Status>401</Status></RestException></TwilioResponse> 

を取得し、私は

.....私の資格情報が正しいことを知っています

これを行う良い方法はありますか?誰かそこに例がありますか?

+2

iOSでは、安全でないため、ユーザー名/パスワードをURLに埋め込むことはできません。リクエストに認証ヘッダーを追加する必要があります。 – Paulw11

+0

@ Paulw11どうしたらいいの?スウィフトは新しく、チュートリアルはオンラインであまりありません –

答えて

1

Matthew、上記のコメントに記載されているように、セキュリティ上の理由から、REST APIからクライアントサイドコード経由でSMSを送信することはお勧めしません。

私たちは、あなたの資格情報をラップし、ここで見例で利用可能なヘルパーライブラリのいずれかを使用してバックエンドアプリでSMSを送信することを示唆している

https://www.twilio.com/docs/api/rest/sending-messages

私の同僚を実際にwrote a postのためにこれに対処するためにアンドロイドのコミュニティでは、スウィフトのために同じことを間違いなく実行する必要があります。

[更新]How to send an SMS from Swift postです。

これが役に立ちます。

関連する問題