文件可以正常读到 流程也一样 为什么在 opts := []core.ClientOption的时候就报错 无效的Authorization
FATAL ts=2024-11-27 11:55:23 caller=data/xcx_order.go:253 service_name=wt-ticket-server service_version= environment=develop msg=new wechat pay client err:init client setting err:Get "https://api.mch.weixin.qq.com/v3/certificates": net/http: invalid header field value for "Authorization"
你请求代码咋写的?sdk示例就可以直接跑通的
package main import ( "context" "io/ioutil" "log" "github.com/wechatpay-apiv3/wechatpay-go/core" "github.com/wechatpay-apiv3/wechatpay-go/core/option" "github.com/wechatpay-apiv3/wechatpay-go/utils" ) func main() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775B6A45ACD588826D15E583A95F5DD********" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/Users/go/apiclient_key.pem") if err != nil { log.Fatal("load merchant private key error") } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Fatalf("new wechat pay client err:%s", err) } // 使用 Get 方法发送 HTTP 请求 result, err := client.Get(ctx, "https://api.mch.weixin.qq.com/v3/certificates") if err != nil { log.Fatalf("download certificates err:%s", err) } log.Printf("status=%d headers=%v", result.Response.StatusCode, result.Response.Header) // 获取并读取响应体 body, err := ioutil.ReadAll(result.Response.Body) if err != nil { log.Fatalf("read response body err:%s", err) } log.Printf("resp=%s", body) }