图片路径为项目main.go文件同一层级目录的图片
package main
import (
“fmt”
“os”
openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
stream "github.com/alibabacloud-go/darabonba-stream/client"
util "github.com/alibabacloud-go/tea-utils/v2/service"
"github.com/alibabacloud-go/tea/tea"
)
/**
- 使用AK&SK初始化账号Client
- @param accessKeyId
- @param accessKeySecret
- @return Client
- @throws Exception
/
func CreateClientCommon(accessKeyId string, accessKeySecret string) (_result openapi.Client, _err error) {
config := &openapi.Config{// 必填,您的 AccessKey ID AccessKeyId: accessKeyId, // 必填,您的 AccessKey Secret AccessKeySecret: accessKeySecret,
}
// Endpoint 请参考 https://api.aliyun.com/product/ocr-api
config.Endpoint = tea.String(“ocr-api.cn-hangzhou.aliyuncs.com”)
_result = &openapi.Client{}
_result, _err = openapi.NewClient(config)
return _result, _err
}
/**
- API 相关
- @param path params
- @return OpenApi.Params
/
func CreateApiInfoCommon() (_result openapi.Params) {
params := &openapi.Params{// 接口名称 Action: tea.String("RecognizePassport"), // 接口版本 Version: tea.String("2021-07-07"), // 接口协议 Protocol: tea.String("HTTPS"), // 接口 HTTP 方法 Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("V3"), // 接口 PATH Pathname: tea.String("/"), // 接口请求体内容格式 ReqBodyType: tea.String("json"), // 接口响应体内容格式 BodyType: tea.String("json"),
}
_result = params
return _result
}
func _mainCommon(args []*string) (_err error) {
client, _err := CreateClientCommon(tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")), tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")))
if _err != nil {
return _err
}
params := CreateApiInfoCommon()
// 需要安装额外的依赖库,直接点击下载完整工程即可看到所有依赖。
body := stream.ReadFromFilePath(tea.String("passport.jpg"))
// runtime options
runtime := &util.RuntimeOptions{}
request := &openapi.OpenApiRequest{
Stream: body,
}
// 复制代码运行请自行打印 API 的返回值
// 返回值为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode。
resp, _err := client.CallApi(params, request, runtime)
if _err != nil {
return _err
}
fmt.Println(resp)
return _err
}
func main() {
err := _mainCommon(tea.StringSlice(os.Args[1:]))
if err != nil {
panic(err)
}
}
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/21162.html