Go版SDK

使用说明

  1. 授权模块不是独立的应用,是其他应用模块接入的前提,申请其他应用时,都需要一并申请账号授权的能力。 当申请了其他的能力并选择使用GoSDK接入时,可参考以下的SDK接口说明。若还未下载SDK,请先下载SDK

SDK获取

开发语言资源下载环境要求
GoSDK适用于GO语言开发环境

SDK相关接口调用

注意: 在调用SDK的文件相关接口前,需要先配置SDK的应用信息:

  1. func NewConfig(appid, appkey string) (*Config, error);

参数说明

参数参数类型说明
appidstring应用唯一标识
appkeystring应用秘钥

调用方式:conFig, err := config.NewConfig(appId, appKey)

SDK接口说明如下:

1, 通过code换取网页授权access_token2, 刷新access_token (可选)3, 拉取用户信息4, 获取RPCTOken5, 检测RPCTOken的权限

1, 通过code换取网页授权access_token

通过code换取网页授权access_token

  1. func GetToken(code string) (*model.Token, error);

尤其注意:由于应用appkey和获取到的access_token安全级别比较高,后续刷新access_token、通过access_token获取用户信息等步骤,必须从服务器调用接口。

参数说明

参数参数类型说明
codestring填写第一步获取的code参数

调用方式:result,err :=oauth2.GetToken(code)

2, 刷新access_token (如果需要)

  1. func RefreshToken(refreshToken string) (*model.Token, error);

由于access_token的有效期较短,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为90天,当refresh_token失效之后,需要用户重新授权。使用refresh_token刷新access_token时,会返回一个新的refresh_token。

参数说明

参数参数类型说明
refresh_tokenstring填写通过code获取到的refresh_token参数

调用方式:result,err := oauth2.RefreshToken(refreshToken);

3, 拉取用户信息

  1. func GetUserInfo(accessToken, openId string) (*model.UserInfo, error);

参数说明

参数参数类型说明
access_tokenstringaccess_token
openidstring用户标识openid

调用方式:result,err := oauth2.GetUserInfo(oauth2AccessToken, oauth2OpenId)

4, 获取RPCTOken(RPC)

  1. func GetRPCToken(accessToken, scope string) (string, error);

由于access_token的安全级别比较高,当需要客户端调用某些接口时,需要通过access_token换取一个rpc_token。客户端可以通过rpc_token直接调用接口。

参数说明

参数参数类型说明
access_tokenstringaccess_token
scopestring用户授权的作用域(share_file,upload_file,get_user_info)

调用方式:result,err := oauth2.GetRPCToken(oauth2AccessToken, "get_user_info")

5, 检测RPCTOken的权限

  1. func CheckRPCToken(rpcToken, scope string) (bool, error);

参数说明

参数参数类型说明
rpc_tokenstringrpc_token
scopestring用户授权的作用域

调用方式:result, err := oauth2.CheckRPCToken(rpcToken, "get_user_info")