8535.com-新浦京娱乐场官网|欢迎您

集成第三方开放平台,集成第三方平台

来源:http://www.dnamique.com 作者:计算机网络 人气:155 发布时间:2019-10-11
摘要:集成第三方开放平台,集成第三方平台   目前国内常见的第三方开放平台有: QQ开放平台 微信开放平台 蚂蚁金服开放平台 新浪微博开放平台   我们可以通过集成这些第三方平台来实

集成第三方开放平台,集成第三方平台


  目前国内常见的第三方开放平台有:

  • QQ开放平台
  • 微信开放平台
  • 蚂蚁金服开放平台
  • 新浪微博开放平台

  我们可以通过集成这些第三方平台来实现:

  • 第三方登录
  • 第三方支付
  • 内容分享到第三方平台
  • 获取第三方平台用户资源
  • ......

    下面以新浪微博开放平台的第三方登录为例看下Java系统具体的集成步骤,QQ和微信类似,只需少许修改(具体请参考源码中示例)   一、注册平台账号,创建应用,填写认证回调地址(例如:   二、通过OAuth2认证   1.重定向请求,请求授权码code

/**
     * Step 1: 重定向到sina微博登录,请求授权码CODE
     * https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code
     *
     * @param resp
     * @throws Exception
     */
    @RequestMapping("/weibo/login")
    public void weiboLogin(HttpServletResponse resp) throws Exception {
        String authorizeUrl = baseAuthorizeUrl + "?client_id=" + appKey + "&redirect_uri=" + redirectUri + "&response_type=code";
        resp.sendRedirect(authorizeUrl);
    }

baseAuthorizeUrl为  client_id为 平台应用对应的appKey   2.登录回调,获取授权码code

/**
 * Step 2: 登录回调,获取Code
 *
 * @param req
 * @throws Exception
 */
@RequestMapping("/weibo/callback")
public String qqCallback(HttpServletRequest req) throws Exception {
    String code = req.getParameter("code");
    //获取Access Token,并返回给页面
    return getAccessToken(code);
}

 

3.通过 授权code获取access_token

/**
 * Step 3: 通过code获取access_token
 *
 * @param resp
 * @param code 认证码
 * @return
 * @throws Exception
 */
private String getAccessToken(String code) throws Exception {
    //拼接请求URL
    String tokenUrl = baseTokenUrl + "?client_id=" + appKey + "&client_secret=" + appSecret + "&grant_type=authorization_code&code=" + code + "&redirect_uri=" + redirectUri;

    //发送post请求,获取响应字符串
    String resp = RestHttpClient.sendHttpPostRequest(tokenUrl);

    return resp;
}

baseTokenUrl为 

 

4.通过token和uid调用微博api,例如查询微博用户信息

/**
 * Step 4: 根据Token和用户ID获取用户信息
 * access_token:2.00AZrTrB5jlucE809b31fc07I9H_XC, uid:1706396054
 *
 * @param access_token
 * @param uid
 * @return
 * @throws Exception
 */
@RequestMapping("/weibo/userInfo")
public String getUserInfo(String access_token, String uid) throws Exception {
    //拼接请求URL
    String userInfoUrl = baseUserInfoUrl + "?access_token=" + access_token + "&uid=" + uid;
    System.out.println(userInfoUrl);

    //发送请求,获取响应字符串
    String resp = RestHttpClient.sendHttpGetRequest(userInfoUrl);

    //返回响应字符串
    return resp;
}

baseUserInfoUrl为 

 

源码地址:

目前国内常见的第三方开放平台有: QQ开放平台 微信开放平台 蚂蚁金服开放平台 新浪微博开放平台...

本文由8535.com-新浦京娱乐场官网|欢迎您发布于计算机网络,转载请注明出处:集成第三方开放平台,集成第三方平台

关键词:

最火资讯