向抖音开放平台管理中心实际代码开发具体代码实现

2023-08-08
来源:网络整理

1.打开平台管理中心到抖音创建应用

2、应用创建后,抖音将进行正式审核。 审核速度比较慢,一般需要3-7个工作日。

3、审核通过后,会给你一个相对的Key抖音小程序商城需要开发吗,1,相当于k和v。

抖音app开发要多少钱_抖音小程序商城需要开发吗_抖音小店开发

4. 获取这些并开始实际的代码开发

具体代码实现结合官方文档进行开发

1、第一步获取授权码code,并按照官方要求填写相应数据来请求该地址; 所有API都以此开头

具体代码实现:

@Override public String qrcodeAuth(DouYinCode codes) { String code = "https://open.douyin.com/platform/oauth/connect/?client_key=" + codes.getClientKey() + "&response_type="+codes.getResponseType()+"&scope="+codes.getScope()+"&redirect_uri="+codes.getRedirectUri()+"&state="+codes.getState(); logger.info("qrConnect requestUrl=" + code); return code; }

@GetMapping(value = "code") public void Code(HttpServletRequest request, HttpServletResponse response, DouYinCode codes) throws IOException { String requestUrl = douYinService.qrcodeAuth(codes); response.sendRedirect(requestUrl); }

2.根据代码换取对应的,根据获取到的用户信息,将获取到的用户信息保存到数据库中

抖音小程序商城需要开发吗_抖音app开发要多少钱_抖音小店开发

@Override public OutputObject insertUser(User user) { try { int i = loginMapper.insert(user); if (i > 0){ return new OutputObject(ReturnCode.SUCCESS, "成功", "添加成功"); }else { return new OutputObject(ReturnCode.FAIL, "失败", user); } }catch (Exception e){ // 事务回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return new OutputObject(ReturnCode.FAIL, "失败", e.getMessage()); } }

/** * 根据code换取token,根据token获取用户信息 * 保存用户信息到数据库 */ @GetMapping(value = "user") public OutputObject doGit(HttpServletRequest request, HttpServletResponse response, DouYinCode codes) throws ServletException, IOException { String code = request.getParameter("code"); // 判断 if(code == null){ throw new RuntimeException("用户禁止授权..."); } try { // 获取到了code值,回调没有问题 // 定义地址 String token_url = "https://open.douyin.com/oauth/access_token/?client_key=" + clientKey + "&client_secret="+clientSecret+"&code="+code+"&grant_type=authorization_code"; // 发送请求 HttpClient client = new HttpClient(token_url); // 发送get请求 client.get(); // 获取到请求的结果 json格式的字符串,把json格式的字符串转换成Map集合 String token_content = client.getContent(); ObjectMapper om = new ObjectMapper(); Map map = new HashMap(); map = om.readValue(token_content, Map.class); Map<String, Object> object = (Map<String, Object>) map.get("data"); Object access_token = object.get("access_token"); redis.set("access_token",access_token); Object open_id = object.get("open_id"); // 获取到接口调用凭证 // 获取个人的信息 // 传入两个参数,access_token openid // https://open.douyin.com/oauth/userinfo/?access_token=act.0b28cadff39c17f87f3dcd42e6ea77bbDswNzmJgdfR4n534HQZJye86KNHF&open_id=49a60c64-b855-4bee-8379-164184186935 String user_url = "https://open.douyin.com/oauth/userinfo/?access_token="+access_token+"&open_id="+open_id; // 发送请求 HttpClient client1 = new HttpClient(user_url); client1.get(); String user_content = client1.getContent(); ObjectMapper user = new ObjectMapper(); Map usermap = new HashMap(); map = user.readValue(user_content, Map.class); // 解析获取到的对象 Map<String, Object> userObject = (Map<String, Object>) map.get("data"); DouYinUser user1 = new DouYinUser(); Object a = userObject.get("nickname"); user1.setNickname((String) a); Object b = userObject.get("open_id"); user1.setOpenId((String) b); Object avatar = userObject.get("avatar"); user1.setAvatar((String) avatar); Object gender = userObject.get("gender"); user1.setGender((gender.toString())); Object province = userObject.get("province"); user1.setProvince((String) province); Object city = userObject.get("city"); user1.setCity((String) city); Object country = userObject.get("country"); user1.setCountry((String) country); // 存储数据库 return douYinService.insertUsers(user1); } catch (ParseException e) { e.printStackTrace(); throw new RuntimeException("抖音扫码登录异常..."); } }

分享