我可以使用以下代码在iOS中使用twilio api向一个人发送短信。
NSString *kTwilioSID = TWILIO_SID;
NSString *kTwilioSecret = TWILIO_SECRET;
NSString *kFromNumber = TWILIO_FROM_NUMBER;
NSString *kToNumber = TO_NUMBER;
NSString *kMessage = TWILIO_MESSAGE_HEADER;
NSString *urlString = [NSString
stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages/",
kTwilioSID, kTwilioSecret,kTwilioSID];
NSDictionary*
dic = @{@"From":kFromNumber,@"To":kToNumber,@"Body":kMessage};
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer=[AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"application/xml"];
[manager POST:urlString parameters:dic success:^(AFHTTPRequestOperation *operation, id responseObject)
{
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
}];
然后我想发短信给多个人。 我该怎么办?
答案 0 :(得分:1)
您不应该在客户端应用程序中嵌入API秘密(kTwilioSecret
),因为除非您实施SSL certificate pinning,否则攻击者routing their device to a proxy可以轻松获取您的API凭据(包括秘密)并使用您的帐户发送消息。
这就是他们的iOS客户端SDK不支持发送短信的原因。您的应用应该与您的后端(您的API密码安全)进行通信,该后端应该处理允许发送短信的逻辑,然后通过Twilio发送。
确保您知道Twilio使用Rate-Limiting,因此您无法从同一号码一次发送多条消息。短代码虽然有不同的规则,但它们更贵。
现在你可以做的是实现一些管理速率限制的例程,只需在你的后端发送Twilio允许你在给定时间内和/或一次使用多个数字的消息。 (或者来自iOS,但我不鼓励这样做,因为上面提到的安全问题)。