https://d226lax1qjow5r.cloudfront.net/blog/blogposts/how-to-send-sms-with-go-dr/TW_Go.jpg

GoでSMSを送信する方法

最終更新日 April 19, 2021

所要時間:1 分

このブログ記事では Vonage Go SDKを使って SMS を送信する方法を紹介します。

前提条件

この投稿に従うには、開発マシンにGolangをインストールする必要があります。インストール方法は にあります。.

あるいは、Goに慣れていない場合や、インストール作業をしたくない場合は、直接 Golangプレイグラウンドで直接作業することもできます。

Vonage Go SDKの使用

エディターを起動し、新しいファイルを作成する。 main.go.次に、以下のコードを入力(またはコピー)して、Goアプリケーションの基本を足場にしてください:

package main

import (
	"fmt"
	"github.com/vonage/vonage-go-sdk"
)

func main() {

}

main.goを保存してimport文のファイルが消えてしまっても、心配しないでください。 main()関数の中で使えば戻ってくる。

さて、これらの骨に肉を付け、Vonage Go SDKをインスタンス化し、実際に実行できるようにしましょう。

関数内に main()関数の中に以下を追加する:

auth := vonage.CreateAuthFromKeySecret(API_KEY, API_SECRET)
smsClient := vonage.NewSMSClient(auth)
response, _ := smsClient.Send("44777000000", "44777000777", "Hi from golang", vonage.SMSOpts{})

ここでは2つのことが起きている。

まず authオブジェクトを作成し、ヘルパー関数を使ってAPIキーとシークレットを組み合わせます。

注:APIキーとシークレットは、お客様の ダッシュボード.アカウントをお持ちでない場合は ここからサインアップこのコードを実行するための無料のスタータークレジットを取得します!

次に、新しい smsClientのすべての機能を保持する Vonage Go SDKをインスタンス化します。あなたの authオブジェクトが渡されます。

これで、SMSの送信など、Vonage API上でアクションを実行できるようになりました。

GoでSMSメッセージを送信

Vonage APIクライアントの準備ができたので、コードは次のようになる:

package main

import (
	"fmt"
	"github.com/vonage/vonage-go-sdk"
)

func main() {
    auth := vonage.CreateAuthFromKeySecret(API_KEY, API_SECRET)
    smsClient := vonage.NewSMSClient(auth)
    response, _ := smsClient.Send("44777000000", "44777000777", "Hi from golang", vonage.SMSOpts{})
}

Goを使用してSMSを送信するには、次の情報を渡す必要があります。 smsClientを送信する必要があります。

最低限、SMSの送信先番号、送信元番号、表示するテキストを含める必要があります。

番号 To番号はご自身の番号でもかまいません。 FromSMS可能な番号でなければなりません。 Vonageダッシュボード.

あとはアプリに 送信を送信することです。これは Sendメソッドを使います。

SMSを送信する重労働は、すべて1行で行われる:

response, _ := smsClient.Send("44777000000", "44777000777", "Hi from golang", vonage.SMSOpts{})

最後に、簡単なエラーチェックと応答出力を追加する:

if response.Messages[0].Status == "0" {
    fmt.Println("Message sent")
}

最終的な「main.go」ファイルは次のようになるはずだ:

package main

import (
	"fmt"
	"github.com/vonage/vonage-go-sdk"
)

func main() {
	auth := vonage.CreateAuthFromKeySecret(API_KEY, API_SECRET)
	smsClient := vonage.NewSMSClient(auth)
	response, _ := smsClient.Send("44777000000", "44777000777", "Hi from golang", vonage.SMSOpts{})

	if response.Messages[0].Status == "0" {
		fmt.Println("Message sent")
	}
}

これでSMSを送信する準備が整いました!ターミナルに向かい、作業しているフォルダーの中から実行する:

go run main.go

すべてがうまくいけば Message Sentと表示され、SMSの通知音が鳴り響く前に画面に戻ります。

これからどこへ行くのか?

上記のコードに加えることができる次の変更は、ハードコードされたAPIキー、APIシークレット、電話番号を削除することで、もう少しセキュアにすることだ。

これを行う良い方法は、環境変数を .envファイルに格納されている環境変数に移すことだ。

を使って実装してみてください。 godotenvパッケージを使って実装してみてほしい。

さらに読む

Go で SMS を送信することで、アプリケーションに他の通信要素を追加できるかもしれないとワクワクしたのであれば、次のサンプルを見てください。 Vonage Go SDK GitHub リポジトリ.

そこには、電話の発信、SMSメッセージの受信、電話番号の検証など、Vonage APIの他の多くの側面を使用するためのコードがあります。

これまで同様、皆様からのご連絡をお待ちしております。Go と Vonage API の使用についてご質問がある場合は、Slack の Vonage コミュニティにご参加ください。 SlackのVonageコミュニティに参加してください。

SDKへのコントリビュートも大歓迎です。SDKの範囲をさらに拡大することにご協力いただける方は、お気軽にGitHubでプルリクエストをお寄せください。

シェア:

https://a.storyblok.com/f/270183/250x250/d0444194cd/martyn.png
Martyn Daviesヴォネージの卒業生

元Vonage開発者教育ディレクター。クリエイティブ・デベロッパー、プロダクト・マネージャー、ハック・デイ・オーガナイザーの経歴を持つマーティンは、放送局や大手レコード会社での勤務を経て、2012年よりテクノロジー・アドボケイトとして活動している。世界中の開発者を教育し、力を与えている。