代码拉取完成,页面将自动刷新
package weixin
import (
"encoding/json"
"fmt"
"gitee.com/h79/gothird/token"
access2 "gitee.com/h79/gothird/token/access"
"gitee.com/h79/gothird/weixin/access"
"gitee.com/h79/gothird/weixin/consts"
"gitee.com/h79/gothird/weixin/response"
"gitee.com/h79/goutils/common/data"
"gitee.com/h79/goutils/common/http"
"gitee.com/h79/goutils/common/result"
)
// 1 公众号: 全局唯一接口调用凭据
// 2 小程序: 全局唯一后台接口调用凭据(access_token)。调用绝大多数后台接口时都需使用 access_token
// 这种没有刷新refreshToken, 只有到期时,再调用一次,取一个新的access token
func getTokenUrl(token token.Token) string {
return fmt.Sprintf("%s/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", consts.ApiPrefixUrl, token.GetAppId(), token.GetSecret())
}
func GetAccessToken(tk token.Token, d data.D) (access2.Token, error) {
hp := http.Http{}
body, err := hp.DoBytes("GET", getTokenUrl(tk), nil)
if err != nil {
return nil, err
}
type tokenResult struct {
response.Response
access.Token
}
res := tokenResult{}
if err = json.Unmarshal(body, &res); err != nil {
return nil, err
}
if res.ErrCode != 0 {
return nil, result.Error(res.ErrCode, res.ErrMsg)
}
return &res.Token, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。