• 账号授权
    • IP白名单
    • 域名白名单
    • 授权回调地址的说明
    • 授权的作用域scope说明
    • 授权access_token说明
    • 关于UnionID机制
    • 关于OpenID机制
  • 目录
  • 1, 用户同意授权,获取code
    • 接口说明
    • 请求说明
    • 参数说明
    • 下图为授权页面
    • 用户同意授权后
  • 2, 通过code换取网页授权access_token
    • 接口说明
    • 请求说明
    • 参数说明
    • Header说明
    • 返回
  • 3, 刷新access_token (如果需要)
    • 接口说明
    • 请求说明
    • 参数说明
    • Header说明
    • 返回
  • 4, 拉取用户信息
    • 接口说明
    • 请求说明
    • 参数说明
    • Header说明
    • 返回
  • 5, 获取RPCTOken(RPC)
    • 接口说明
    • 请求说明
    • 参数说明
    • Header说明
    • 返回
  • 6, 检测RPCTOken的权限
    • 接口说明
    • 请求说明
    • 参数说明
    • Header说明
    • 返回

    账号授权

    如果用户访问第三方应用,可以通过openapi授权机制,来获取用户基本信息,进而实现业务逻辑。

    IP白名单

    1、AccessToken相关接口需要设置IP白名单, 例如在获取用户信息时;

    2、设置为和回调地址域名指向IP相同;

    image

    域名白名单

    1、在调用RPC相关接口时需要设置域名白名单;

    image

    授权回调地址的说明

    1、在通过openapi请求用户应用授权之前,开发者需要先到开放平台官网中的“基本设置 - 回调地址”的配置选项中,修改授权回调地址。请注意,这里填写的是URL不是域名,因此需要加 http:// 等协议头;

    2、在授权登录时,会根据开放平台设置的回调地址检测请求参数redirect_uri的合法性;

    3、如果用户已经授权,则登录成功后直接重定向到回调地址;

    image

    授权的作用域scope说明

    授权作用域,多个用逗号(,)分开;

    scope说明
    get_user_info获取用户信息
    added_value_service增值服务(支付相关)
    upload_file上传文件
    share_file分享文件
    get_files获取文件
    online_editing在线编辑
    online_preview在线预览

    授权access_token说明

    1、在用户允许授权后,可以获取到一个授权特有的接口调用凭证(授权access_token),通过应用授权access_token可以进行授权后接口调用,如获取用户基本信息;

    关于UnionID机制

    1、如果开发者拥有多个应用,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个开放平台下的不同应用,unionid是相同的;

    关于OpenID机制

    1、用户唯一标识,在不同应用中同一用户的openid不同;

    目录

    1, 用户同意授权,获取code2, 通过code换取网页授权access_token3, 刷新access_token (可选)4, 拉取用户信息5, 获取RPCTOken6, 检测RPCTOken的权限

    1, 用户同意授权,获取code

    用户同意授权,获取code

    接口说明

    用户同意授权,获取code

    请求说明

    [GET] https://openapi.wps.cn/oauthapi/v2/authorize

    1. https://openapi.wps.cn/oauthapi/v2/authorize?response_type=code&appid=APPID&autologin=false&redirect_uri=REDIRECTURI&scope=SCOPE&state=STATE

    参数说明

    参数参数类型是否必须说明
    appidstringrequired应用唯一标识
    response_typestringrequired参数值必须为code
    redirect_uristringrequired授权后重定向的回调链接地址
    scopestringrequired用户授权的作用域(get_user_info,…),使用逗号(,)分隔
    statestringoptional重定向后会带上state参数
    autologinbooloptional是否自动跳转,如果已经授权且autologin为true则不跳转到授权界面

    下图为授权页面

    image

    用户同意授权后

    如果用户同意授权,页面将跳转至 redirect_uri?code=CODE&state=STATE

    1. code说明 code作为换取access_token的票据,10分钟未被使用自动过期。

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

    通过code换取网页授权access_token

    接口说明

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

    请求说明

    [GET] https://openapi.wps.cn/oauthapi/v2/token

    参数说明

    参数参数类型是否必须说明
    appidstringrequired应用唯一标识
    appkeystringrequired应用密钥
    codestringrequired填写第一步获取的code参数

    Header说明

    Header名称是否必须说明
    Content-typerequired值为:application/json

    返回

    { "result":0, "token":{ "appid":"APPID", "expires_in":EXPIRES, "access_token":"ACCESSTOKEN", "refresh_token":"REFRESHTOKEN", "openid":"OPENID" }}

    3, 刷新access_token (如果需要)

    刷新access_token

    接口说明

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

    请求说明

    [POST] https://openapi.wps.cn/oauthapi/v2/token/refresh

    参数说明

    参数参数类型是否必须说明
    appidstringrequired应用唯一标识
    appkeystringrequired应用密钥
    refresh_tokenstringrequired填写通过code获取到的refresh_token参数

    Header说明

    Header名称是否必须说明
    Content-typerequired值为:application/json

    返回

    { "result":0, "token":{ "appid":"APPID", "expires_in":EXPIRES, "access_token":"ACCESSTOKEN", "refresh_token":"REFRESHTOKEN", "openid":"OPENID" }}

    4, 拉取用户信息

    拉取用户信息

    接口说明

    拉取用户信息

    请求说明

    [GET] https://openapi.wps.cn/oauthapi/v2/user

    参数说明

    参数参数类型是否必须说明
    access_tokenstringrequiredaccess_token
    appidstringrequired应用唯一标识
    openidstringrequired用户标识openid

    Header说明

    Header名称是否必须说明
    Content-typerequired值为:application/json

    返回

    { "result":0, "user":{ "nickname":"NICKNAME", "avatar":"AVATAR", "sex":"SEX", "openid":"OPENID", "unionid":"UNIONID", "regtime":REGTIME }}

    5, 获取RPCTOken(RPC)

    获取RPCTOken

    接口说明

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

    请求说明

    [POST] https://openapi.wps.cn/oauthapi/v2/rpc/token

    参数说明

    参数参数类型是否必须说明
    access_tokenstringrequiredaccess_token
    appidstringrequired应用唯一标识
    scopestringrequired用户授权的作用域(share_file,upload_file,get_user_info)

    Header说明

    Header名称是否必须说明
    Content-typerequired值为:application/json

    返回

    { "result":0, "rpc_token":"RPCTOKEN"}

    6, 检测RPCTOken的权限

    检测RPCTOken的权限

    接口说明

    检测rpc_token是否有scope相应的授权。

    请求说明

    [POST] https://openapi.wps.cn/oauthapi/v2/rpc/scope/authorize

    参数说明

    参数参数类型是否必须说明
    rpc_tokenstringrequiredrpc_token
    appidstringrequired应用唯一标识
    scopestringrequired用户授权的作用域

    Header说明

    Header名称是否必须说明
    Content-typerequired值为:application/json

    返回

    { "result":0, "authorized":1}