第三方应用授权接入流程(JAVA版)

简介: 第三方应用授权注意事项:[url]https://openclub.alipay.com/read.php?tid=14575&fid=68[/url]一、调用接口1、访问授权,获取app_auth_code获取app_auth_code方式:[url]https://openclub.

第三方应用授权注意事项[url]https://openclub.alipay.com/read.php?tid=14575&fid=68[/url]

一、调用接口

1、访问授权,获取app_auth_code

获取app_auth_code方式:[url]https://openclub.alipay.com/read.php?tid=14581&fid=68[/url]

注:沙箱测试时,只能使用应用授权URL拼接的方式;

沙箱授权URL规则:[url]https://openauth.alipay[/url]dev.com/oauth2/appToAppAuth.htm?app_id=APPID&redirect_uri=ENCODED_URL

3、换取应用授权令牌接口

参数说明:

(1)grant_type:

authorization_code表示换取app_auth_token。 

refresh_token表示刷新app_auth_token。

(2)code:授权码,grant_type的值为authorization_code,该值必须填写。

参数值为授权后获取的app_auth_code;

(3)refresh_token:刷新令牌,grant_type值为refresh_token,该值不能为空。

参数值为此接口的响应参数app_refresh_token(至少需要通过grant_type=authorization_code调用此接口一次才能获取)。

public static void main(String[] args) throws AlipayApiException {		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);		AlipayOpenAuthTokenAppRequest request = new AlipayOpenAuthTokenAppRequest();		//授权成功后,使用app_auth_code换取app_auth_token		AlipayOpenAuthTokenAppModel model = new AlipayOpenAuthTokenAppModel();		//换取令牌,不改		model.setGrantType("authorization_code");		//app_auth_code参数		model.setCode("603d0219f1884fc4b66093900e6b8X89");		/*//刷新令牌		model.setRefreshToken("a3dcea3a35a342858391dfeaa336cE75");*/		request.setBizModel(model);	    try {	    	AlipayOpenAuthTokenAppResponse response = alipayClient.execute(request);			System.out.println(response.getBody());		} catch (AlipayApiException e) {		    //处理异常		    e.printStackTrace();		}}

响应参数:

{"alipay_open_auth_token_app_response":{"code":"10000","msg":"Success","app_auth_token":"201904BBf9c9781043854fe58c25b4b378350A89","app_refresh_token":"201904BBa095c4366ba74acba2dd971244632F89","auth_app_id":"2018042501227906","expires_in":31536000,"re_expires_in":32140800,"tokens":[{"app_auth_token":"201904BBf9c9781043854fe58c25b4b378350A89","app_refresh_token":"201904BBa095c4366ba74acba2dd971244632F89","auth_app_id":"2018042501227906","expires_in":31536000,"re_expires_in":32140800,"user_id":"2088102175794899"}],"user_id":"2088102175794899"},"sign":"MFnHtA+aZaH+pJuQfIqdZx1ESEhd6QpaHcOPABZOCT+H+KQbSfZdKBPjhZecPDYNgi8MAbIuQ3W0ZV/c9AEF7a2JRFxMWl9h3j67eA5MGJTOt6o6zaKKA7iQY7ZaQvMuihCAJtiY8+Mx9I/SN6wSHpn7PyB6REtTc/DX8AXfO328ek3D/xBGJL0ZOhZwNR8f9PVd9LkjOvbWNkhSo4x6hZtiWpu+0A4hvz7IKrtDaPxLCAtXZGbABx6tnUit4E3JjJ6qfWVsfASLraK5faJIf8+c7TPep30DcWlVw76wcohrwAG9wGL2f/xHEPAKUpX2tZi2p83cH2+u6RuSI4XqUQ=="}

4、查询AppAuthToken的授权信息

参数说明:

app_auth_token:换取应用授权令牌接口返回的响应参数app_auth_token。

public static void main(String[] args) throws AlipayApiException {   AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);		AlipayOpenAuthTokenAppQueryRequest request = new AlipayOpenAuthTokenAppQueryRequest();		/****************************传参方法二*********************		AlipayOpenAuthTokenAppQueryModel model = new AlipayOpenAuthTokenAppQueryModel();		model.setAppAuthToken("appAuthToken");		request.setBizModel(model);		*/		/****************************传参方法一********************/		request.setBizContent("{\"app_auth_token\":\"201904BBf9c9781043854fe58c25b4b378350A89\"}");				AlipayOpenAuthTokenAppQueryResponse response = alipayClient.execute(request);		System.out.println("授权信息:"+response.getBody());}

响应参数:

{"alipay_open_auth_token_app_query_response":{"code":"10000","msg":"Success","auth_app_id":"2018042501227906","auth_end":"2020-04-15 15:54:59","auth_methods":["ant.merchant.expand.indirect.modify","alipay.system.oauth.token","alipay.fund.auth.operation.detail.query","alipay.ebpp.pdeduct.sign.query","koubei.marketing.campaign.activity.offline","zhima.auth.info.authquery","alipay.offline.provider.shopaction.record","alipay.offline.market.shop.create","alipay.trade.refund","ssdata.dataservice.risk.rainscore.query","alipay.user.info.auth","alipay.commerce.cityfacilitator.voucher.generate","koubei.marketing.data.intelligent.effect.query","alipay.ebpp.pdeduct.bill.pay.status","alipay.marketing.campaign.cash.trigger","alipay.pass.template.add","koubei.marketing.data.indicator.query","alipay.eco.cplife.basicservice.initialize","zhima.credit.watchlistii.get","koubei.marketing.campaign.intelligent.promo.batchquery","alipay.eco.cplife.notice.delete","alipay.fund.trans.toaccount.transfer","zhima.credit.score.brief.get","alipay.user.info.share","alipay.eco.edu.kt.billing.modify","koubei.marketing.data.message.deliver","alipay.marketing.tool.fengdie.activity.query","koubei.marketing.data.customreport.save","alipay.eco.cplife.roominfo.upload","alipay.pass.instance.add","alipay.eco.cplife.community.batchquery","koubei.marketing.campaign.intelligent.promo.query","alipay.marketing.tool.fengdie.editor.query","alipay.eco.mycar.parking.parkinglotinfo.query","alipay.trade.precreate","alipay.eco.cplife.roominfo.query","alipay.ebpp.invoice.sycn","alipay.boss.prod.submerchant.create","zhima.customer.certification.query","zoloz.authentication.customer.facemanage.create","koubei.marketing.campaign.intelligent.promo.create","koubei.marketing.data.smartactivity.config","zhima.customer.certification.initialize","alipay.eco.edu.kt.parent.query","alipay.trade.create","alipay.eco.cplife.community.modify","alipay.trade.customs.declare","zhima.merchant.data.upload.initialize","alipay.eco.edu.kt.billing.send","koubei.marketing.campaign.item.merchantactivity.modify","alipay.eco.mycar.parking.parkinglotinfo.create","alipay.eco.cplife.bill.modify","alipay.offline.provider.useraction.record","alipay.trade.order.settle","koubei.marketing.campaign.intelligent.promo.consult","koubei.marketing.campaign.intelligent.promo.modify","alipay.ebpp.invoice.apply.result.sync","alipay.marketing.cdp.advertise.operate","zoloz.authentication.customer.facemanage.delete","koubei.marketing.campaign.crowd.delete","alipay.trade.close","alipay.eco.cplife.residentinfo.delete","monitor.heartbeat.syn","alipay.eco.mycar.parking.order.sync","alipay.commerce.medical.instcard.createandpay","alipay.trade.customs.query","alipay.marketing.cdp.advertise.modify","alipay.ebpp.pdeduct.async.pay","alipay.eco.mycar.parking.enterinfo.sync","alipay.ebpp.invoice.user.trade.query","alipay.boss.prod.submerchant.modify","alipay.eco.edu.kt.student.modify","alipay.eco.cplife.bill.sync","zoloz.authentication.smilepay.initialize","alipay.trade.query","alipay.ebpp.invoice.apply","alipay.eco.edu.kt.schoolinfo.modify","koubei.marketing.campaign.activity.create","zhima.customer.certification.certify","alipay.eco.cplife.community.details.query","alipay.eco.cplife.notice.publish","koubei.marketing.campaign.crowd.batchquery","alipay.commerce.cityfacilitator.voucher.refund","alipay.eco.mycar.parking.parkinglotinfo.update","alipay.ebpp.pdeduct.sign.add","koubei.marketing.data.customreport.batchquery","alipay.ebpp.invoice.info.send","alipay.eco.mycar.parking.exitinfo.sync","alipay.eco.mycar.parking.vehicle.query","alipay.eco.cplife.community.create","alipay.eco.cplife.residentinfo.upload","koubei.marketing.data.customreport.query","koubei.marketing.campaign.item.merchantactivity.create","zhima.customer.certification.material.certify","ant.merchant.expand.indirect.create","alipay.pass.instance.update","zoloz.authentication.customer.ftoken.query","alipay.ebpp.invoice.title.sync","alipay.offline.market.shop.batchquery","alipay.eco.cplife.bill.batch.upload","zhima.data.feedbackurl.query","alipay.trade.pay","alipay.fund.auth.operation.cancel","alipay.ebpp.pdeduct.sign.cancel","zhima.credit.antifraud.verify","alipay.eco.mycar.parking.config.query","alipay.marketing.tool.fengdie.activity.create","alipay.offline.market.applyorder.batchquery","alipay.eco.cplife.bill.batchquery","alipay.marketing.campaign.cash.status.modify","alipay.marketing.campaign.cash.list.query","alipay.security.risk.customerrisk.query","alipay.offline.material.image.upload","alipay.eco.cplife.roominfo.delete","alipay.ebpp.pdeduct.sign.validate","alipay.fund.auth.order.voucher.create","alipay.ebpp.invoice.file.sync.retry","alipay.offline.market.shop.modify","alipay.eco.cplife.basicservice.modify","alipay.marketing.cdp.advertise.query","alipay.data.dataservice.bill.downloadurl.query","alipay.commerce.medical.information.upload","koubei.marketing.campaign.crowd.count","alipay.offline.market.shop.category.query","alipay.trade.wap.pay","koubei.marketing.campaign.activity.batchquery","alipay.eco.edu.kt.billing.query","zhima.merchant.single.data.upload","alipay.commerce.medical.card.query","alipay.offline.market.shop.summary.batchquery","alipay.eco.mycar.parking.config.set","alipay.ebpp.invoice.file.query","alipay.eco.edu.kt.student.query","alipay.open.auth.token.app.query","alipay.trade.app.pay","alipay.ebpp.invoice.title.list.get","ant.merchant.expand.indirect.transfer","koubei.marketing.campaign.crowd.create","koubei.marketing.data.smartactivity.forecast","alipay.ebpp.bill.add","koubei.marketing.campaign.intelligent.shop.consult","alipay.commerce.cityfacilitator.voucher.batchquery","alipay.offline.market.shop.querydetail","alipay.fund.trans.order.query","alipay.security.risk.rainscore.query","zhima.customer.contract.initialize","zhima.credit.score.get","alipay.ebpp.pdeduct.pay","koubei.marketing.data.intelligent.indicator.query","zhima.data.batch.feedback","alipay.trade.fastpay.refund.query","alipay.boss.prod.submerchant.query","alipay.eco.cplife.bill.delete","alipay.marketing.tool.fengdie.template.query","koubei.marketing.campaign.item.merchantactivity.batchquery","koubei.marketing.data.customreport.detail.query","alipay.trade.orderinfo.sync","alipay.security.data.info.securitydata.query","alipay.commerce.cityfacilitator.station.query","alipay.marketing.facetoface.decode.use","alipay.trade.refund.apply","alipay.security.risk.customerrisk.send","ant.merchant.expand.indirect.query","koubei.marketing.campaign.tags.query","alipay.user.userinfo.share","alipay.trade.page.pay","alipay.ebpp.invoice.info.get","alipay.open.auth.token.app","alipay.marketing.campaign.cash.create","alipay.ebpp.invoice.info.applyid.query","koubei.marketing.data.customreport.delete","alipay.pass.template.update","alipay.marketing.cdp.advertise.create","alipay.fund.auth.order.unfreeze","alipay.trade.cancel","koubei.marketing.campaign.item.merchantactivity.close","alipay.eco.cplife.pay.result.query","alipay.marketing.campaign.cash.detail.query","koubei.marketing.campaign.item.merchantactivity.query","koubei.marketing.campaign.activity.modify","alipay.ebpp.invoice.merchantlist.enter.apply","koubei.marketing.campaign.intelligent.promo.delete","alipay.commerce.medical.instcard.bind","alipay.eco.mycar.parking.order.update","koubei.marketing.campaign.crowd.modify","koubei.marketing.campaign.intelligent.template.consult","koubei.marketing.campaign.crowd.detail.query","alipay.ebpp.industry.kms.pubkey.query","alipay.ebpp.bill.get","koubei.marketing.data.smartmanagement.diagnose","zoloz.authentication.customer.smilepay.initialize","koubei.marketing.data.trade.habbit.query","alipay.fund.auth.order.freeze","koubei.trade.order.consult","zhima.merchant.closeloop.data.upload","koubei.marketing.campaign.activity.query","koubei.marketing.campaign.recruit.shop.query","zhima.credit.watchlist.brief.get","alipay.ebpp.invoice.title.dynamic.get"],"auth_start":"2019-04-16 15:54:59","expires_in":31536000,"status":"valid","user_id":"2088102175794899"},"sign":"JIzmwzQF9tyWC+gVSQEtgPrgbv0QTLE5zw56SQkyKxvKzz9a/XhuPgEfMOjOaPviRuzlaf876LKRjqaY9oVui3McAnt5pL9uz/mHseh5t9cTIXFDPBmdTkGstjSpkUIBV6LYUBw8F+atvngzCSP7VcVPd4RpfLQRaB30YxlFr2HYRD1wTBvQFP7XXkJZMQCII0kECQGAY77hqNEF7oJHThY38MLbd/xBKWawfkYONnUgeyO0qNi5IGVShi+/RWZ4O/KWRjuRXi0mq/7wtPLA0H45S7/DLS6ImQ39UF/2nskRW6iISYm4JJ7gLODc2k3eFmWr014iMctfxPLTbxm8cA=="}

二、显示效果

沙箱无法查询,正式环境显示如下

 

如果还是报错,请按如下方式进行提问:

正确提问方式:使用环境(沙箱还是正式环境)+接口名称(中文+英文)+ 请求参数 + 报错信息详情

目录
相关文章
|
4月前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
1417 1
|
4月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
260 3
|
4月前
|
消息中间件 Java 数据库
Java 基于 DDD 分层架构实战从基础到精通最新实操全流程指南
本文详解基于Java的领域驱动设计(DDD)分层架构实战,结合Spring Boot 3.x、Spring Data JPA 3.x等最新技术栈,通过电商订单系统案例展示如何构建清晰、可维护的微服务架构。内容涵盖项目结构设计、各层实现细节及关键技术点,助力开发者掌握DDD在复杂业务系统中的应用。
810 0
|
4月前
|
Java 编译器
Java 17 Switch表达式:更简洁、更强大的流程控制
Java 17 Switch表达式:更简洁、更强大的流程控制
|
4月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
271 7
|
4月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
551 64
|
5月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
219 0
|
5月前
|
人工智能 Cloud Native Java
Java 技术栈企业级应用开发全流程
本指南通过构建企业级电商系统,全面解析现代化Java技术栈实战应用。涵盖Spring Boot 3、微服务架构、云原生部署、服务治理、监控可观测性及AI集成,助开发者掌握全流程开发技能,打造高效可扩展的企业级应用。
348 0
Java 技术栈企业级应用开发全流程
|
5月前
|
消息中间件 监控 Java
借助最新技术构建 Java 邮件发送功能的详细流程与核心要点分享 Java 邮件发送功能
本文介绍了如何使用Spring Boot 3、Jakarta Mail、MailHog及响应式编程技术构建高效的Java邮件发送系统,涵盖环境搭建、异步发送、模板渲染、测试与生产配置,以及性能优化方案,助你实现现代化邮件功能。
252 0
|
5月前
|
安全 Java 数据库
使用Java实现用户的注册和登录流程
以上提供了用户注册和登录的基本框架和必要的说明。在具体的应用场景中,可能还需结合框架特性如Spring Security等提供的高级特性来实现更为完备和安全的用户认证机制。在开发期间,务必注重代码的安全性、清晰性和可维护性,为用户资料保驾护航。
378 13