Golang开发者福利:我们为你准备了一份小惊喜 💕

Golang开发者福利:我们为你准备了一份小惊喜 💕 各位 Gopher 们,大家好!

我们为我们的 Go SDK 感到无比兴奋!它崭新闪亮,我们热爱 Go 社区,并希望在未来获得反馈并做更多事情!快来了解一下,并为即将到来的更多 Go 内容做好准备,包括一场 10月14日的 Go 语言直播

👉 使用 Vonage Go SDK 探索 Vonage API

image


更多关于Golang开发者福利:我们为你准备了一份小惊喜 💕的实战教程也可以访问 https://www.itying.com/category-94-b0.html

1 回复

更多关于Golang开发者福利:我们为你准备了一份小惊喜 💕的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


看起来是个不错的SDK发布公告!从图片和链接来看,这应该是Vonage(原Nexmo)官方发布的Go语言SDK。让我看看这个SDK提供了哪些功能。

根据官方文档,这个SDK封装了Vonage的各种API服务。我来演示一下基本的短信发送功能:

package main

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

func main() {
    // 初始化客户端
    auth := vonage.CreateAuthFromKeySecret("YOUR_API_KEY", "YOUR_API_SECRET")
    client := vonage.NewClient(auth)
    
    // 发送短信
    smsClient := vonage.NewSMSClient(client)
    
    response, err := smsClient.Send(context.Background(), vonage.SMSRequest{
        From: "Vonage",
        To:   "15551234567",
        Text: "Hello from Vonage Go SDK!",
    })
    
    if err != nil {
        log.Fatal(err)
    }
    
    for _, message := range response.Messages {
        fmt.Printf("Message ID: %s, Status: %s\n", message.MessageID, message.Status)
    }
}

语音API的使用示例:

func makeVoiceCall() {
    auth := vonage.CreateAuthFromKeySecret("API_KEY", "API_SECRET")
    client := vonage.NewClient(auth)
    
    voiceClient := vonage.NewVoiceClient(client)
    
    call, err := voiceClient.CreateCall(context.Background(), vonage.CreateCallRequest{
        To: []vonage.Endpoint{
            {
                Type: "phone",
                Number: "15551234567",
            },
        },
        From: vonage.Endpoint{
            Type: "phone",
            Number: "15557654321",
        },
        AnswerURL: []string{"https://example.com/answer"},
    })
    
    if err != nil {
        log.Fatal(err)
    }
    
    fmt.Printf("Call UUID: %s\n", call.UUID)
}

验证API的示例:

func verifyPhoneNumber() {
    auth := vonage.CreateAuthFromKeySecret("API_KEY", "API_SECRET")
    client := vonage.NewClient(auth)
    
    verifyClient := vonage.NewVerifyClient(client)
    
    response, err := verifyClient.Request(context.Background(), vonage.VerifyRequest{
        Number: "15551234567",
        Brand:  "MyApp",
    })
    
    if err != nil {
        log.Fatal(err)
    }
    
    fmt.Printf("Request ID: %s\n", response.RequestID)
    
    // 验证代码
    checkResponse, err := verifyClient.Check(context.Background(), vonage.VerifyCheckRequest{
        RequestID: response.RequestID,
        Code:      "123456",
    })
    
    if err != nil {
        log.Fatal(err)
    }
    
    fmt.Printf("Verification status: %s\n", checkResponse.Status)
}

从代码质量来看,这个SDK的API设计比较清晰,遵循了Go语言的惯例。错误处理使用了标准的error接口,上下文传递也符合Go的最佳实践。

安装方式很简单:

go get github.com/vonage/vonage-go-sdk

对于需要集成短信、语音、验证等通信功能的Go项目来说,这个SDK应该能节省不少开发时间。API封装得比较完整,文档看起来也齐全,值得尝试一下。

回到顶部