2017-12-05 12 views
1

私はtwilioサービスからSMSを取得しようとしていますが、このエラーが発生し続けます。twilio A 'From'電話番号が必要ですswift

要求:

func SMSRequest(countryCode:String, phoneNumber: String) { 
     let accountSid = "ACc4d9785419f144412823ff2034660c3d" 
     let authToken = "a2293a42841f8999caa237er363" // changed 

     let phoneNumber = "+14243960339" 
     let toNumber = "+37378847884" 

     let url = URL(string: "https://\(accountSid):\(authToken)@api.twilio.com/2010-04-01/Accounts/\(accountSid)/SMS/Messages") 
     print("url", url!) 


     let parameters = [ 
      "From": phoneNumber, 
      "To": toNumber, 
      "Body":"Hi daddy" 
     ] 

     Alamofire.request(url!, method: .post, parameters: parameters, 
          encoding: JSONEncoding.default, headers: [:]).responseJSON { response in 
          let response = String(describing: response.result.ifFailure({ 
           print(response) 
           if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {print("Data: \(utf8Text)")} 
          })) 


     } 
    } 

エラー:

<TwilioResponse><RestException><Code>21603</Code><Message>A 'From' phone number is required.</Message><MoreInfo>https://www.twilio.com/docs/errors/21603</MoreInfo><Status>400</Status></RestException></TwilioResponse> 

All the credentials I get from here

ソリューション: 使用UTF8エンコーディング。

+0

あなたの質問に答えを加えないでください。それを答えとして加えてください。そうすれば、人々はあなたがそれを解決したことを知り、将来他の人々のための良い参考資料となります。 (また、動作させるために変更したコードを表示してください)。 – Fogmeister

答えて

0

ここではTwilioの開発者のエバンジェリストです。

問題を解決したにもかかわらず、基本的に安全でないアプリケーションを構築していることに注意してください。私はthis comment on your other questionを残しましたが、私はそれをここでも指摘する必要があります。

ネイティブアプリケーションから直接Twilio APIにリクエストすることはお勧めしません。これを行うには、アカウントSIDと認証トークンをアプリケーションのどこかに格納または取得する必要があります。これを行うと、悪意のある攻撃者があなたの資格情報にアクセスしてTwilioアカウントを乱用する可能性があります。

これは実際にEavesdropper vulnerability and was written about earlier this yearとして知られています。

ウェブアプリケーションを作成し、そこからAPIリクエストを送信することをお勧めします。それを行う方法についてのブログ投稿があります:https://www.twilio.com/blog/2016/11/how-to-send-an-sms-from-ios-in-swift.html

関連する問題