component

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

微信第三方平台 SDK

Documentation

Overview

微信第三方平台 SDK

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreatePreAuthCode

func CreatePreAuthCode(clt *core.Client, appId string) (preAuthCode string, expiresIn int64, err error)

该API用于获取预授权码。预授权码用于公众号或小程序授权时的第三方平台方安全验证.

func GetAuthorizerOption

func GetAuthorizerOption(clt *core.Client, appId string, authorizerAppId string, optionName string) (optionValue string, err error)

该API用于获取授权方的公众号或小程序的选项设置信息,如:地理位置上报,语音识别开关,多客服开关。注意,获取各项选项设置信息,需要有授权方的授权,详见权限集说明。

func RefreshAuthorizerToken

func RefreshAuthorizerToken(clt *core.Client, appId string, authorizerAppId string, authorizerRefreshToken string) (accessToken string, refreshToken string, expiresIn int64, err error)

该API用于在授权方令牌(authorizer_access_token)失效时,可用刷新令牌(authorizer_refresh_token)获取新的令牌。请注意,此处token是2小时刷新一次,开发者需要自行进行token的缓存,避免token的获取次数达到每日的限定额度。缓存方法可以参考:http://mp.weixin.qq.com/wiki/2/88b2bf1265a707c031e51f26ca5e6512.html

func SetAuthorizerOption

func SetAuthorizerOption(clt *core.Client, appId string, authorizerAppId string, optionName string, optionValue string) (err error)

该API用于设置授权方的公众号或小程序的选项信息,如:地理位置上报,语音识别开关,多客服开关。注意,设置各项选项设置信息,需要有授权方的授权,详见权限集说明。

Types

type AuthorizationInfo

type AuthorizationInfo struct {
	AuthorizerAppId        string     `json:"authorizer_appid,omitempty"`         // 授权方appid
	AuthorizerAccessToken  string     `json:"authorizer_access_token,omitempty"`  // 授权方接口调用凭据(在授权的公众号或小程序具备API权限时,才有此返回值),也简称为令牌
	ExpiresIn              int64      `json:"expires_in,omitempty"`               // 有效期(在授权的公众号或小程序具备API权限时,才有此返回值)
	AuthorizerRefreshToken string     `json:"authorizer_refresh_token,omitempty"` // 接口调用凭据刷新令牌(在授权的公众号具备API权限时,才有此返回值),刷新令牌主要用于第三方平台获取和刷新已授权用户的access_token,只会在授权时刻提供,请妥善保存。 一旦丢失,只能让用户重新授权,才能再次拿到新的刷新令牌
	FuncInfo               []FuncInfo `json:"func_info,omitempty"`                // 授权给开发者的权限集列表,ID为1到26分别代表: 1、消息管理权限 2、用户管理权限 3、帐号服务权限 4、网页服务权限 5、微信小店权限 6、微信多客服权限 7、群发与通知权限 8、微信卡券权限 9、微信扫一扫权限 10、微信连WIFI权限 11、素材管理权限 12、微信摇周边权限 13、微信门店权限 15、自定义菜单权限 16、获取认证状态及信息 17、帐号管理权限(小程序) 18、开发管理与数据分析权限(小程序) 19、客服消息管理权限(小程序) 20、微信登录权限(小程序) 21、数据分析权限(小程序) 22、城市服务接口权限 23、广告管理权限 24、开放平台帐号管理权限 25、 开放平台帐号管理权限(小程序) 26、微信电子发票权限 41、搜索widget的权限 请注意: 1)该字段的返回不会考虑公众号是否具备该权限集的权限(因为可能部分具备),请根据公众号的帐号类型和认证情况,来判断公众号的接口权限。
}

func QueryAuth

func QueryAuth(clt *core.Client, appId string, authorizationCode string) (authorizationInfo *AuthorizationInfo, err error)

该API用于使用授权码换取授权公众号或小程序的授权信息,并换取authorizer_access_token和authorizer_refresh_token。 授权码的获取,需要在用户在第三方平台授权页中完成授权流程后,在回调URI中通过URL参数提供给第三方平台方。请注意,由于现在公众号或小程序可以自定义选择部分权限授权给第三方平台,因此第三方平台开发者需要通过该接口来获取公众号或小程序具体授权了哪些权限,而不是简单地认为自己声明的权限就是公众号或小程序授权的权限。

type AuthorizerInfo

type AuthorizerInfo struct {
	NickName        string `json:"nick_name,omitempty"` // 授权方昵称
	HeadImg         string `json:"head_img,omitempty"`  // 授权方头像
	ServiceTypeInfo *struct {
		Id uint `json:"id"`
	} `json:"service_type_info,omitempty"` // 授权方公众号类型,0代表订阅号,1代表由历史老帐号升级后的订阅号,2代表服务号
	VerifyTypeInfo *struct {
		Id int `json:"id"`
	} `json:"verify_type_info,omitempty"` // 授权方认证类型,-1代表未认证,0代表微信认证,1代表新浪微博认证,2代表腾讯微博认证,3代表已资质认证通过但还未通过名称认证,4代表已资质认证通过、还未通过名称认证,但通过了新浪微博认证,5代表已资质认证通过、还未通过名称认证,但通过了腾讯微博认证
	UserName          string             `json:"user_name,omitempty"`          // 授权方公众号的原始ID
	Signature         string             `json:"signature,omitempty"`          // 帐号介绍
	PrincipalName     string             `json:"principal_name,omitempty"`     // 公众号的主体名称
	Alias             string             `json:"alias,omitempty"`              // 授权方公众号所设置的微信号,可能为空
	BusinessInfo      *BusinessInfo      `json:"business_info,omitempty"`      // 用以了解以下功能的开通状况(0代表未开通,1代表已开通)
	QrcodeUrl         string             `json:"qrcode_url,omitempty"`         // 二维码图片的URL,开发者最好自行也进行保存
	MiniProgramInfo   *MiniProgramInfo   `json:"MiniProgramInfo,omitempty"`    // 可根据这个字段判断是否为小程序类型授权
	AuthorizationInfo *AuthorizationInfo `json:"authorization_info,omitempty"` // 授权信息
}

func GetAuthorizerInfo

func GetAuthorizerInfo(clt *core.Client, appId string, authorizerAppId string) (authorizerInfo *AuthorizerInfo, err error)

该API用于获取授权方的基本信息,包括头像、昵称、帐号类型、认证类型、微信号、原始ID和二维码图片URL。需要特别记录授权方的帐号类型,在消息及事件推送时,对于不具备客服接口的公众号,需要在5秒内立即响应;而若有客服接口,则可以选择暂时不响应,而选择后续通过客服接口来发送消息触达粉丝。

type BusinessInfo

type BusinessInfo struct {
	OpenStore uint `json:"open_store"` // 是否开通微信门店功能
	OpenScan  uint `json:"open_scan"`  // 是否开通微信扫商品功能
	OpenPay   uint `json:"open_pay"`   // 是否开通微信支付功能
	OpenCard  uint `json:"open_card"`  // 是否开通微信卡券功能
	OpenShake uint `json:"open_shake"` // 是否开通微信摇一摇功能
}

type FuncInfo

type FuncInfo struct {
	FuncScopeCategory *struct {
		Id uint `json:"id"`
	} `json:"funcscope_category,omitempty"`
	ConfirmInfo *struct {
		Need   uint `json:"need_confirm,omitempty"`
		Aleady uint `json:"already_confirm,omitempty"`
		Can    uint `json:"can_confirm,omitempty"`
	} `json:"confirm_info,omitempty"`
}

type MiniProgramInfo

type MiniProgramInfo struct {
	Network     *MiniProgramNetwork `json:"network,omitempty"`    // 小程序已设置的各个服务器域名
	Categories  []map[string]string `json:"categories,omitempty"` //
	VisitStatus uint                `json:"visit_status,omitempty"`
}

type MiniProgramNetwork

type MiniProgramNetwork struct {
	RequestDomain   []string `json:"RequestDomain,omitempty"`
	WsRequestDomain []string `json:"WsRequestDomain,omitempty"`
	UploadDomain    []string `json:"UploadDomain,omitempty"`
	DownloadDomain  []string `json:"DownloadDomain,omitempty"`
	BizDomain       []string `json:"BizDomain,omitempty"`
	UDPDomain       []string `json:"UDPDomain,omitempty"`
}

Directories

Path Synopsis
微信公众平台(订阅号&服务号) SDK 的核心库
微信公众平台(订阅号&服务号) SDK 的核心库

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL