无法使用C#使用Twilio Trail帐户发送短信

时间:2018-10-26 06:40:18

标签: sms twilio twilio-api

我只是想使用Twilio发送交易短信。我尝试了与Twilio文档

中提供的代码完全相同的代码。
 static void Main(string[] args)
    {
        try
        {
            // Find your Account Sid and Token at twilio.com/console
            const string accountSid = "AC5270abb139629daeb8f3c205ec632155";
            const string authToken = "XXXXXXXXXXXXXX";

            TwilioClient.Init(accountSid, authToken);

            var message = MessageResource.Create(
                from: new Twilio.Types.PhoneNumber("+15017122661"),
                body: "Body",
                to: new Twilio.Types.PhoneNumber("MyNumber")
            );

            Console.WriteLine(message.Sid);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
在来自Twilio控制台的authToken副本中,

是我的号码,用于注册Twilio。我还在Twilio控制台的“已验证呼叫者ID”部分中验证了该号码。 最初从Number开始,我使用的是在Twilio Console中生成的数字,该数字属于美国,但无法使用。看完之后 Article我使用了Twilio提供的确切代码,只是将更改作为authToken和TO Number进行。但是,它仍然行不通。

我不知道为什么它不起作用。是您无法将消息从一个国家发送到另一个国家?

1 个答案:

答案 0 :(得分:0)

我想通过从SMS发送代码来验证手机号码。所以实现这一点,我正在使用 Twilio验证API here,其中代码由Twilio生成并由他自己验证。

这解决了我的问题。

要发送短信:-

  var client = new HttpClient();
  var requestContent = new FormUrlEncodedContent(new[] {
  new KeyValuePair<string,string>("via", "sms"),
  new KeyValuePair<string,string>("phone_number", "Moblienumber"),
  new KeyValuePair<string,string>("country_code", "CountryCode"),
});

            // https://api.authy.com/protected/$AUTHY_API_FORMAT/phones/verification/start?via=$VIA&country_code=$USER_COUNTRY&phone_number=$USER_PHONE
            HttpResponseMessage response = await client.PostAsync(
              "https://api.authy.com/protected/json/phones/verification/start?api_key=" + "Your Key",
              requestContent);

            // Get the response content.
            HttpContent responseContent = response.Content;

            // Get the stream of the content.
            using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
            {
                // Write the output.
                Console.WriteLine(await reader.ReadToEndAsync());
            }
            return Ok();

要验证:-

// Create client
        var client = new HttpClient();

        // Add authentication header
        client.DefaultRequestHeaders.Add("X-Authy-API-Key", "Your Key");

        // https://api.authy.com/protected/$AUTHY_API_FORMAT/phones/verification/check?phone_number=$USER_PHONE&country_code=$USER_COUNTRY&verification_code=$VERIFY_CODE
        HttpResponseMessage response = await client.GetAsync(
          "https://api.authy.com/protected/json/phones/verification/check?phone_number=phone_number&country_code=country_code&verification_code=CodeReceivedbySMS ");

        // Get the response content.
        HttpContent responseContent = response.Content;

        // Get the stream of the content.
        using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
        {
            // Write the output.
            Console.WriteLine(await reader.ReadToEndAsync());
        }
        return Ok();