创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
发布日期:2024-10-09 00:05 点击次数:150
本文档展示了怎样从零出手一路向西,使用蚂蚁金服绽开平台办事端SDK快速接入媒体类生涯号居品,完成与支付宝对接的部分。
审视: 文档中的代码示例和Demo是用来施展API基本使用设施的,仅针对全国场景。
第一步:创建专揽并取得APPID领先请阐明是否需要通过接口大齐量创建生涯号账号:
1.不需要:
请登录生涯号后台入驻,一个支付宝账号不错创建5个生涯号。
创建顺利以后,登录蚂蚁金服绽开平台(open.alipay.com),在贬责中心下不错查找到创建顺利的生涯号专揽,并纪录APPID,在代码中使用。
2.需要:
要在您的专揽中使用支付宝绽开居品的接口身手,您需要先去蚂蚁金服绽开平台(open.alipay.com),在贬责中心中创建登记您的专揽,并提交审核,审核通事后会为您生成专揽独一标识(APPID),而况不错肯求通达绽开居品使用权限,通过APPID您的专揽才能调用绽开居品的接口身手。需要翔实了解绽开平台创建专揽设施请参考《绽开平台专揽创建指南》。
把该APPID提供给对应的时期赞助或PD肯求通达干系接口权限。
第二步:配置密钥斥地者调用接口前需要先生成RSA密钥一路向西,RSA密钥包含专揽私钥(APP_PRIVATE_KEY)、专揽公钥(APP_PUBLIC_KEY)。生成密钥后在绽开平台贬责中心进行密钥配置,配置完成后不错取得支付宝公钥(ALIPAY_PUBLIC_KEY)。翔实设施请参考《配置专揽环境》。
第三步:集成并配置SDK为了匡助斥地者调用绽开接口,咱们提供了绽开平台办事端SDK,包含JAVA、PHP和.NET三话语版块,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应话语版块的SDK并引入您的斥地工程。
在使用SDK调器具体API前,需要先配置通用接入参数:
参数称号 参数证明 APP_ID 绽开平台专揽的APPID,详见创建专揽并取得APPID APP_PRIVATE_KEY 斥地者专揽私钥,详见配置密钥 CHARSET 请乞降签名使用的字符编码样式,赞助GBK和UTF-8 ALIPAY_PUBLIC_KEY 支付宝公钥,详见配置密钥 sign_type 签名类型,RSA或RSA2,需要与绽开平台配置的公钥匹配然后,使用上述接入参数出手化AlipayClient:
接下来,就不错用alipayClient来调器具体的API了。alipayClient只需要出手化一次,后续调用不同的API齐不错使用合并个alipayClient对象。
第四步:接口调用生涯号居品共提供4个接口,区分为:
创建生涯号接口:alipay.open.public.life.account.create
发送生涯号音信接口:alipay.open.public.life.msg.send
修改生涯号接口:alipay.open.public.life.account.modify (未发布)
撤复活活号音信接口:alipay.open.public.life.msg.recall
生涯号接口明细: 接口称号 接口功能 入参 出参 备注 alipay.open.public.life.account.create 新建一个生涯号 1. 被代理生涯号:alipay_uid2. 生涯堪称号:life_account_name3. 生涯号二级分类:idcatagory_id4. 简介:content5. 客服电话:customer_tel6. 头像图片:logo7. 配景图片:background8. 计议东谈主电话 contact_tel9. 计议东谈主邮箱contact_email 1. 创建的生涯号id:public_id2. 代理授权:token3. 刷新令牌 refresh_token4. 逾期时期 expire_time alipay.open.public.life.msg.send 发送一条生涯号音信 1. 生涯号授权token:app_auth_token2. 生涯号音信类型:msg_type3. 音信标题:title(不跳跃30字)4. 音信撮要:desc(不跳跃50字)5. 音信封面图:cover6. 视频贯穿地址:video_url7. 视频时长:video_length8. 视频大小:video_size9. 音信正文:content10. 原文跳转URL:raw_url11. 音信分类:category12. 音信形容信息:source_ext_info13. 着手方音信独一id:unique_msg_id 生涯号音信id:messageId(生涯号音信独一标识) alipay.open.public.life.account.modify 修改生涯号信息 1. 生涯号授权token:app_auth_token 2. 头像图片:logo3. 封面图片:background4. 简介:content(长度小于200字) 修改成果: result 本接口每月最多仅能调用一次 alipay.open.public.life.msg.recall 畏缩一条生涯号音信 1. 生涯号授权token:app_auth_token2. 生涯号音信id:messageId 畏缩成果:status
上表中入进入粗字段为必填字段,具体接口文档详见API目次。
淌若无需创建生涯号,只需调试发送及拆除接口。
大型游戏在线玩创建生涯号接口,创建顺利后会复返token,在调用发送接口或拆除接口时,需要传递对应token,使支付宝识别是哪个生涯号发送的。
此处要点施展发送接口alipay.open.public.life.msg.send 示例: 1.分类取值限度 形容 编码 证明 财经 c001 包含财经要闻、投资迎接指南等试验 科技 c002 包含科技新闻、互联网公司动向、科学探索等试验 数码 c003 包含手机、电脑、平板、VR等数码诞生、花费、点评试验 体育 c004 包含体育新闻、赛事报谈、体育明星动向、赛事分析等试验 通顺 c005 包含个东谈主通顺、健身、体育查验的科普、指南、课程等试验 文娱综艺 c006 包含文娱八卦、明星动态、综艺节目、好意思女帅哥等试验 好意思食 c007 包含探店、烹调、烘焙、养分膳食等试验 前卫 c008 包含穿搭、好意思妆、风景、潮水、街拍、网红等试验 旅行 c009 包含境表里旅游攻略、名次榜、看法地先容等试验 证明注解 c010 包含k12、英语、成东谈主、处事培训等证明注解试验 游戏 c011 包含游戏攻略、游戏刊行、游戏视频、玩家动态等试验 汽车 c012 包含购车指南、养车攻略等试验 养生 c013 包含肉体保健、膳食退换、生涯民俗等试验(严格不容药物先容和病院先容) 电影 c014 包含电影刊行、影评、电影裁剪、影视殊效、电影节等试验 电视剧 c015 包含流行电视剧、剧评、电视裁剪等试验 音乐 c016 包含音乐分析、音乐榜单、音乐节、音乐奖项新闻等试验 照相 c017 包含照相手段、照相作品、照相诞生等试验 艺术 c018 包含体裁、绘制、野心、乐器、雕饰等试验 情态 c019 包含婚配、两性、家庭、伦理等试验 宠物 c020 包含养宠手段、宠物趣图、宠物食物等试验 动漫 c021 包含动画、漫画、邻近居品、动漫节、动漫作家采访等试验 星座 c022 包含星座、占卜、运势等试验 育儿 c023 包含备孕、妊妇、生子、产后照顾、婴幼儿照顾等试验 搞笑 c024 主要为搞笑视频 房产 c025 包含地产新闻、最新国度计谋、楼市走势分析、装修隐敝、家居软装等试验
2.音信正文content样例:
正文为Html片断,不包含html头尾。 只赞助p、div、img等浅易的html标签,不应包含table等复杂标签。 不可包含script标签,如有css神色,尽量内联在html标签内。 职权位自界说试验:跳转贯穿,头像,称号,简介跳转贯穿可选填,如不跳转,调解填「javascript:void(0)」
<p>未来即是5月8日,是本年的母亲节了。咱们每个东谈主的长相不同,身份不同,梦思不同,然而咱们相似的是齐有一位生下咱们的伟大的母亲!</p> <p><br></p> <p><img src="https://t.alipayobjects.com/images/publichome/T16P8oXlhdXXcUQpbX"></p> <p><img src="https://t.alipayobjects.com/images/publichome/T1ORhoXd8XXXcUQpbX"></p> <p><br></p> <p><img src="https://t.alipayobjects.com/images/publichome/T1dlhoXghXXXcUQpbX"></p> <a class="author-info" href="javascript:void(0)"> <span class="title"> <span class="logo" style="background-image: url(https://os.alipayobjects.com/rmsportal/HARMCZNAKsXFMmw.png);"></span> <span class="name">毒蛇电影</span> </span> <span class="desc">毒蛇影院以最快的速率为你提供最新电视剧以及最热点的顺眼的电视剧,电影,综艺,动漫等...新浪微博账号:@mingricaijing</span> </a>
3.java版块SDKalipay.open.public.life.msg.send接口调用示例:一路向西
// 支付宝SDK调用客户端调用工场类 public class AlipayAPIClientFactory{ // 取得ISV调用客户端 public static AlipayClient getAlipayISVClient(String appId){ //AlipayISVEnvConstant.ALIPAY_GATEWAY:**支付宝网关地址**(线上:https://openapi.alipay.com/gateway.do) //AlipayISVEnvConstant.APP_ID:**外部商户专揽id** //AlipayISVEnvConstant.PRIVATE_KEY:**外部商户专揽私钥** //AlipayServiceEnvConstants.UTF_CHARSET:utf-8 return new DefaultAlipayClient(AlipayISVEnvConstant.ALIPAY_GATEWAY, AlipayISVEnvConstant.APP_ID, AlipayISVEnvConstant.PRIVATE_KEY, "json", AlipayServiceEnvConstants.UTF_CHARSET); } } 3.java版块SDKalipay.open.public.life.msg.send接口调用示例: /** * 生涯号音信接口罢了 * * @author xuzeng.xz * @version $Id: AlipayOpenPublicLifeMsgFacadeImpl.java, v 0.1 2016年4月29日 下昼8:58:39 xuzeng.xz Exp $ */ public class AlipayOpenPublicLifeMsgFacadeImpl implements AlipayOpenPublicLifeMsgFacade { @Override public String send(String appId, String biz_content) { // 取自创建生涯号接口复返值,形如 String appAuthToken = "201509BBdcba1e3347de4e75ba3fed2c9abebE36"; // 出手化SDK调用客户端 AlipayClient alipayClient = AlipayAPIClientFactory.getAlipayISVClient(appId); /** * 由于app_auth_token淌若拆开一年不使用,会自动失效的 * 若无使用场景,提议依期刷新;淌若使用,则自动续命一年 * */ if(拆开一段时期未使用app_auth_token发送音信){ // 成就刷新专揽授权令牌Request类, refresh_token使用alipay.open.public.life.account.create接口复返值 AlipayOpenAuthTokenAppRequest authRequest = new AlipayOpenAuthTokenAppRequest(); request.setBizContent("{\"grant_type\":\"refresh_token\",\"refresh_token\":\"201509BBdcba1e3347de4e75ba3fed2c9abebE36\"}"); // 调用刷新专揽授权令牌 AlipayOpenAuthTokenAppResponse authResponse = alipayClient.execute(authRequest); // 取得刷新后的令牌 appAuthToken = authResponse.getAppAuthToken(); } // 调用生涯号音信发送接口 AlipayOpenPublicLifeMsgSendRequest request = new AlipayOpenPublicLifeMsgSendRequest(); // 填充app_auth_token request.putOtherTextParam("app_auth_token", appAuthToken); // 图文类型音信为IMAGE-CONTENT,视频类音信为VIDEO request.setMsgType("VIDEO"); request.setUniqueMsgId("2016042810221362"); request.setTitle("杭州天气预告"); request.setDesc("多云放晴,13-21°"); FileItem Cover = new FileItem("/home/admin/res/LifeMsgCover.png"); request.setCover(Cover); request.setContent("多云放晴,10°-21°"); request.setRawUrl("https://open.alipay.com/platform/home.htm"); request.setCategory("天气,杭州"); request.setVideoUrl(""); request.setVideoLength("36"); request.setVideoSize("1024"); JSONObject source_ext_info = new JSONObject(); source_ext_info.put("keyword_list", "文娱|财经"); source_ext_info.put("comment", "100000"); source_ext_info.put("reward", "1000000"); source_ext_info.put("is_recommended", "true"); source_ext_info.put("is_news", "true"); source_ext_info.put("read", "100000"); source_ext_info.put("like", "100000"); source_ext_info.put("is_hot", "true"); source_ext_info.put("share", "10000"); source_ext_info.put("deadline", "2016.04.10 16:50:00"); request.setSourceExtInfo(source_ext_info.toJSONString()); try { // 发送生涯号音信 AlipayOpenPublicLifeMsgSendResponse response = alipayClient.execute(request); // 发送顺利 if (null != response && response.isSuccess()) { // 取得生涯号音信id String lifeAPPMsgId = response.getAlipayMsgId(); // TODO 纪录生涯号音信id } // 发送失败 else { LoggerUtil.warn(LOGGER, response); } } catch (Exception e) { LoggerUtil.error(LOGGER, String.format("AlipayOpenPublicLifeMsgSender接口调用十分,request:%s", request), e); } } } // 生涯号音信畏缩 public class AlipayOpenPublicLifeMsgRecallSender implements RequestSender { @Override public String send(String appId, String biz_content) { String msg = ""; String cover = ""; try { // 调用生涯号音信畏缩接口 AlipayOpenPublicLifeMsgRecallRequest request = new AlipayOpenPublicLifeMsgRecallRequest(); // 成就oauthToken request.putOtherTextParam("app_auth_token", appAuthToken); String msgId = (String) req.get("message_id"); JSONObject reqJsonObject = new JSONObject(); reqJsonObject.put("message_id", msgId); request.setBizContent(reqJsonObject.toJSONString()); try { // 商户我方发送 // alipayClient = AlipayAPIClientFactory.getAlipayClient(appId); AlipayOpenPublicLifeMsgRecallResponse response = alipayClient.execute(request); if (null != response && response.isSuccess()) { msg = response.getBody(); LoggerUtil.info(LOGGER, AMPLUQ + "顺利 : response = " + response.getBody() + ",cover:" + cover); } else { msg = AMPLUQ + "失败 :response = " + response.getBody(); LoggerUtil.warn(LOGGER, msg); } } catch (Exception e) { LoggerUtil.error(LOGGER, String.format("AlipayOpenPublicLifeMsgRecallSender接口调用十分,request:%s", request), e); msg = e.toString(); } } catch (Exception e) { LoggerUtil.error(LOGGER, String.format( "AlipayOpenPublicLifeMsgRecallSender接口调用十分,biz_content:%s", biz_content), e); msg = e.toString(); } return msg + ", cover:" + cover; } }FAQ 对于此文档暂时还莫得FAQ