メニュー

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Programmable SMS Quickstart for C# with .NET Framework

Looking for .NET Core? We have a quickstart for that too!

With just a few lines of code, your .NET Framework application can send and receive text messages with Twilio Programmable SMS.

This C# SMS Quickstart will teach you how to do this using our Communications REST API and the Twilio helper library for .NET.

このクイックスタートでは、下記のことを学んでいきます:

  1. Twilioにサインアップして、SMS機能を持ったはじめてのTwilio電話番号を入手する
  2. メッセージを送受信できるように開発環境をセットアップする
  3. 最初のSMSを送信する
  4. テキストメッセージを受信する
  5. 受信メッセージに対してSMSで返信する

ビデオを見ながらの入門がお好みですか? YouTube上のC# SMSクイックスタートビデオ(英語)をご覧ください。

Show me how it's done!

すでにTwilioアカウントとSMS機能を持ったTwilio電話番号をお持ちなら、すでに準備万端です! どうぞ次のステップまで読み飛ばしてください。

Before you can send an SMS from C#, you'll need to sign up for a Twilio account or sign into your existing account and purchase an SMS-capable phone number.

You can sign up for a free Twilio trial account here.

  • When you sign up, you'll be asked to verify your personal phone number. This helps Twilio verify your identity and also allows you to send test messages to your phone from your Twilio account while in trial mode.
  • Once you verify your number, you'll be asked to create a project. For the sake of this tutorial, you can click on the "Learn and Explore" template. Give your project a name, or just click "skip remaining steps" to continue with the default.
  • Once you get through the project creation flow, you'll arrive at your project dashboard in the Twilio Console. This is where you'll be able to access your Account SID, authentication token, find a Twilio phone number, and more.

If you don't currently own a Twilio phone number with SMS functionality, you'll need to purchase one. After navigating to the Buy a Number page, check the "SMS" box and click "Search."

SMS対応Twilio電話番号を購入する

すると、利用可能な電話番号と、その機能の一覧が表示されます。 お好みに合った番号が見つかったら「購入」をクリックすると、それがアカウントに追加されます。

SMS機能対応の電話番号を選択します。

Now that you have a Twilio account and a programmable phone number, you can start writing some code! To make things even easier, we'll next install Twilio's official helper for .NET Framework applications.

バッチリです! セットアップ方法を教えてください。

Create a new project and add the Twilio NuGet package

If you have Visual Studio installed, you are ready to get going. Otherwise, you should download and install it now.

Once you have Visual Studio, open it up and create a new Console project. select the "File" menu and choose "New" then "Project..." and select "Console App (.NET Framework)".

Visual Studio - New .NET Framework Project

続いてVisual Studioのメインメニューから「ツール」を選択し、「NuGetパッケージマネージャー」->「パッケージマネージャーコンソール」をクリックし、下記コマンドを入力します:

Install-Package Twilio
All set! Let's send a text message.

C#を使用してSMSメッセージを送信する

これで.NETとTwilio .NETライブラリーがインストールできたので、今しがた購入したTwilio電話番号から、1回のAPIリクエストでSMSを送信できます。 新規プロジェクトでProgram.csという名前のファイルを開き、下記のコードサンプルを打ち込むかペーストし、すでにあるテンプレートコードと置き換えます。

        
        
        
        
        このコードはMessageリソースの新規リソースを作成し、MessageリソースURIにHTTP POST リクエストを送信します。

        C#を使用してSMSを送信する

        このコードはMessageリソースの新規リソースを作成し、MessageリソースURIにHTTP POST リクエストを送信します。

        メッセージの送信前に、このファイルを少々編集する必要があります:

        プレースホルダーのクレデンシャル値を置き換える

        Swap the placeholder values for accountSid and authToken with your personal Twilio credentials. Go to https://www.twilio.com/console and log in. On this page, you’ll find your unique Account SID and Auth Token, which you’ll need any time you send messages through the Twilio Client like this. You can reveal your auth token by clicking on the 'view' link:

        Reveal your Auth Token in the Twilio Console

        Program.csを編集し、accountSidおよびauthTokenに対応する値をご使用の一意な値に置き換えます。

        Please note: it's okay to hardcode your credentials when getting started, but you should use configuration to keep them secret before deploying to production. ASP.NET applications should use the built-in configuration system for ASP.NET on the .NET Framework. Other types of .NET applications could use environment variables.

        Replace the "from" phone number

        数分前に購入した、SMS機能対応の電話番号を覚えていますか? どうぞ、既存のfrom番号をご自身の番号に置き換えてください。 また、E.164形式が使用されていることも確認します。

        [+][country code][phone number including area code]

        「To」電話番号を置き換える

        Replace the to phone number with your mobile phone number. This can be any phone number that can receive text messages, but it’s a good idea to test with your own phone, so you can see the magic happen! As above, you should use E.164 formatting for this value.

        トライアルアカウントをご使用の場合、Twilioで検証済みの電話番号に送信先が制限されます。電話番号はTwilioコンソール内の検証済み発信者番号にて検証できます。 

        Save your changes and run your project in Visual Studio.

        一丁上がり! ほどなくして、Twilio電話番号から携帯電話にSMSが受信されるはずです。

        Are your customers in the U.S. or Canada? You can also send them MMS messages by adding just one line of code. Check out this sending MMS tutorial to see how it's done.

        メッセージを送信しました! どのように受信しますか?

        ASP.NET MVCを使用して受信SMSメッセージに返信する

        When your Twilio number receives an incoming message, Twilio will send an HTTP request to a server you control. This callback mechanism is known as a webhook. When Twilio sends your application a request, it expects a response in the TwiML XML format telling it how to respond to the message. Let's see how we would build this in C# using ASP.NET MVC for .NET Framework.

        Visual Studioで新規ASP.NET MVCプロジェクトを作成する

        Visual Studio内で、「ファイル」メニューで「新規作成」を選択し、続いて「プロジェクト...」->「ASP.NET Webアプリケーション (.NET Framework) 」を選択します。

        Visual Studio - New ASP.NET MVC Project

        続いて、「MVC」テンプレートを選択します。

        Visual Studio 新規 ASP.NET Webアプリケーション (.NET Framework) - MVC

        Twilio.AspNet.Mvcパッケージをインストールする

        「ツール」を選択し、「NuGetパッケージマネージャー」->「パッケージマネージャーコンソール」をクリックし、下記コマンドを入力します:

        Install-Package Twilio.AspNet.Mvc -DependencyVersion HighestMinor
        

        新規コントローラーを作成する

        In the directory named Controllers, create a new Controller called SmsController.cs. (Right-click on the Controllers folder, select "Add >", "Controller..." and choose the "MVC 5 Controller - Empty" template.)

        Use the following code to create an action that can handle incoming messages. Be sure to use the entire code sample (note, for example, how the SmsController inherits from TwilioController).

              
              
              
              
              電話番号にメッセージが着信すると、TwilioはあなたのサーバーにHTTPリクエストを送信します。 このコードは(TwiMLを使って)テキストメッセージにどうサーバーが返信すべきかを表しています。

              C#でSMSやMMS(日本未対応)を受信、返信する

              電話番号にメッセージが着信すると、TwilioはあなたのサーバーにHTTPリクエストを送信します。 このコードは(TwiMLを使って)テキストメッセージにどうサーバーが返信すべきかを表しています。

              アプリケーションはインターネット上からアクセスできる必要があります。 色々な方法でこれを実現できますが、ngrokと呼ばれる、外部からアクセス可能なURLを提供するツールを推奨します。 皆さんのアプリケーションがメッセージを受信できるように、次にそのセットアップ方法をご紹介します。

              Let's set up my app to receive messages.

              ngrokを使用してTwilioがASP.NETアプリケーションと通信できるようにする

              ここまでで、メッセージを受信する小規模なASP.NETアプリケーションを構築しました。 これが動作するには、アプリケーションがTwilioからアクセスできるようにしておくことが必要です。

              ほとんどのTwilioのサービスはWebhookを使用して皆さんのアプリケーションと通信を行います。たとえばTwilioがSMSを受信すると、メッセージの処理方法の指示を得ようと、皆さんのアプリケーションのURLにアクセスを行います。

              ご自身の開発環境でASP.NETアプリケーションに取り組む際、アプリケーションは同一のコンピューター上の他のプログラム以外からアクセスできないため、Twilioと通信することができません。 アプリケーションをインターネット経由でアクセスできるようにして、この問題を解決することが必要です。

              While there are a lot of ways to do this, like deploying your application to Azure or AWS, you'll probably want a less laborious way to test your Twilio application. For a lightweight way to make your app available on the internet, we recommend a tool called ngrok. Ngrok listens on the same port that your local web server is running on and provides a unique URL on the ngrok.io domain, forwarding incoming requests to your local development environment. It works something like this:

              Twilioがローカルサーバーにアクセスできるようにするために、ngrokがどのように役に立つのか

              まだお済みでない場合は、Visual Studio用のngrok拡張をインストールします。 いくつかの素晴らしいヒントや裏技を含むngrokの追加情報については、こちらの詳しいブログ投稿(英語)をご参照ください。

              Visual Studio拡張のインストール後は、Visual Studioを再起動し、プロジェクトを開き直す必要があります。 プロジェクトを再開し、ホームページを表示します。 続いて、こちらの実行中に「ツール」メニューから「ngrokトンネルを開始する (Start ngrok Tunnel) 」を選択します。

              Ngrok Extensions for Visual Studio

              Ngrok Extensions for Visual Studio - 実行中

              これで、外部からアクセスできるURLを用意できました。

              WebhookのURLを設定する

              Twilioにどこを参照して良いか知らせるため、メッセージの受信時にTwilio電話番号にWebhook URLを呼び出すよう構成することが必要です。

              1. jp.twilio.comにログインし、Console上の電話番号ページに移動します
              2. SMS機能対応の電話番号をクリックします。
              3. メッセージの送受信セクションを見つけます。 「構成内容 (CONFIGURE WITH) 」は、既定である「Webhook/TwiML」にしておく必要があります。
              4. In the “A MESSAGE COMES IN” section, select "Webhook" and paste in your URL: in this quickstart step above, it would be: https://354f5b25.ngrok.io/sms - be sure to add /sms at the end, as this is the route to your SmsController class.

              SMS ngrok Webhook

              変更点を保存すれば、準備万端です!

              アプリケーションをテストする

              Visual Studioでプロジェクトが実行中であり、またngrokトンネルも実行中であることを確認してください。 ngrokを再起動した場合は、ConsoleでWebhookを正しいURLに更新することが必要です。

              上記の両方のサーバーの実行により、いよいよお楽しみの準備が整いました。 新しいASP.NET SMSアプリケーションをテストしましょう!

              Send an SMS from your mobile phone to your Twilio phone number that's configured with this webhook. You should see an HTTP request in your ngrok console. Your ASP.NET app will process the text message, and you’ll get your response back as an SMS.

              It worked! All done - what's next?

              関連トピック

              C#および.NETを使用したSMSおよびMMSの送受信の基本について理解できたところで、下記の資料について調べてみるのも良いかもしれません。

              楽しいプログラミングを!

              Rate this page:

              ヘルプが必要ですか?

              誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。