专业版应用开发指南
(→技术开发) |
(→应用内超链接) |
||
第187行: | 第187行: | ||
2、cid:被访问者(专业版微博)uid<br> | 2、cid:被访问者(专业版微博)uid<br> | ||
3、sub_appkey: | 3、sub_appkey: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==专业版应用审核== | ==专业版应用审核== |
2012年8月30日 (四) 15:29的版本
目录 |
专业版应用创建及发布流程图
专业版应用的创建及发布包括下面的流程,开发者可以根据应用当前的状态进行相应的操作:
请注意,修改白名单以及企业应用定价,无须进行二次审核。
登录微博账号
建议由技术开发人员使用官方微博帐号来登录
设置开发者信息
在开放平台首页上选择“我是开发者”,进入到应用开发页面; 在应用开发页面中,点击“创建应用”按钮:
- 若您还没有填写开发者信息,系统会自动跳转到编辑开发者信息页面。
开发者信息内容填写:
- 开发者类型:个人/公司,根据实际情况进行填写。
- 开发者名称:请填写公司名称或者您的个人姓名。
- 其他信息:个人/公司网站、联系电话、联系Email。
- 请如实填写,以便于我们和您及时沟通联系。
- 填写完毕,请点击保存按钮进行保存
创建专业版应用
在应用开发页面点击“创建应用”,会弹出浮层:
- 选择创建专业版应用,即可进入创建专业版应用的页面。
创建专业版应用需要完善以下信息:
- 应用名称:该名称用于来源显示,用户通过应用发布微博信息后,应用的名称会出现在微博信息下方,点击后直接进入应用地址。
- 绑定域名:请填写根域名,绑定域名后其他域名无法使用您的appkey。
- 应用分类:请依据您所开发的应用类型来选择相关的分类信息;请确认您的应用分类正确,否则无法通过您的审核申请。
编辑应用基本信息
应用页面设置
- 应用名称:站内应用、移动应用、网站接入中已经使用的应用名称均不可再注册成为专业版应用。仅官方应用和认证合作伙伴应用可以使用 “企业※※”、”政府※※”、“媒体※※”、“蓝V※※”作为应用名称,否则相应申请将被驳回
- 应用地址:专业版微博主页通过iframe嵌入的应用前台页面,用于展示给机构的访问者看
- 管理地址:专业版微博管理后台通过iframe嵌入的应用后台页面,用于专业版微博主管理之用
- 应用类型:如果是只有后台管理,无须前台展示的应用,请选择应用类型为“管理类应用”(重要,设置错误可能导致相关功能异常,#请谨慎设置,如有疑问请联系 qyapps@staff.sina.com.cn)
- 行业分类:通用、汽车、美食、旅游、房产、电商、教育、零售、休闲娱乐、IT、服饰、美容化妆、文化出版、金融。例如,您的应用选择的行业分类是美食,则在专业版应用广场中,您的应用会出现在美食应用的筛选结果中。
- 功能分类:通用、互动展示、营销工具、市场调研、求职招聘、运营管理、客户服务、舆情监控、数据分析。例如,您的应用选择的功能分类是数据分析,则在专业版应用广场中,您的应用会出现在数据分析应用的筛选结果中。
应用截图
- 请上传相关的应用介绍照片,这些图片会在应用频道中展示,让用户能更直观的了解你的应用。
测试用户
- 应用在未通过审核之前,不能大范围推广,您可以设置最多15个测试用户来测试尚在开发中的应用。
- 相关内容填写完毕后,请点击保存按钮进行保存。
技术开发
应用信息保存成功后,将会获得该应用的App Key和Secret Key,您可以通过这两个Key数据开始进行相关的技术开发工作。
App Key是应用的唯一标识,开放平台通过App Key来鉴别应用的身份。 AppSecret是给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的的可靠性,防止被伪造。
企业应用授权机制
专业版应用的使用分为两步,第一步是在专业版微博应用广场中安装应用,第二步(如果需要的话),是用户通过OAuth完成相应的授权。机构安装应用后,会生成各自不同的sub appkey,用以和应用的Appkey区分。当用户对专业版应用进行授权的时候,应直接对sub_appkey授权,也就是OAuth授权请使用sub_appkey以及相应的secret来完成。通过这样的授权机制,用户向“京东商城”的“微热卖”应用授权,不意味着同时也向“天猫”的“微热卖”授权。如果不严格遵守sub_appkey机制,将无法使用专业版应用的通知机制,未来也有可能产生更多的其它接口问题。
专业版应用授权流程
专业版应用框架会POST给您的应用以下信息:
1.1用户未授权传递参数
必选 | 类型及范围 | 说明 | |
---|---|---|---|
user | true | array | 当前用户对象 |
algorithm | true | string | 签名算法,暂时用HMAC-SHA256 |
issued_at | true | int | 服务端生成时间, unix timestamp格式 |
用户未授权时应用需要自动判断,并调用OAuth 2.0 授权弹层。
1.2用户授权后传递参数
必选 | 类型及范围 | 说明 | |
---|---|---|---|
user | true | array | 当前用户对象 |
algorithm | true | string | 签名算法,暂时用HMAC-SHA256 |
issued_at | true | int | token生成时间, unix timestamp格式 |
expires | true | int | token过期时间, unix timestamp格式 |
oauth_token | true | string | access token |
user_id | true | uint64 | 当前用户微博user id |
//从POST过来的signed_request中提取oauth2信息 if(!empty($_REQUEST["signed_request"])){ $o = new SaeTOAuth( WB_AKEY , WB_SKEY ); $data=$o->parseSignedRequest($_REQUEST["signed_request"]); if($data=='-2'){ die('签名错误!'); }else{ $_SESSION['oauth2']=$data; } }
判断是否获取到access token
//判断用户是否授权 if (empty($_SESSION['oauth2']["user_id"])) {//若没有获取到access token,则发起授权请求 include "auth.php"; exit; } else {//若已获取到access token,则加载应用信息 $c = new SaeTClient( WB_AKEY , WB_SKEY ,$_SESSION['oauth2']['oauth_token'] ,'' ); }
调用应用授权弹层
调用授权弹层时,页面背景用一张应用图片填充,给用户带来更好的体验。
<style> body{ background:url("http://qimeng.appsina.com/images/1.jpg"); } </style> <script src="http://tjs.sjs.sinajs.cn/t35/apps/opent/js/frames/client.js" language="JavaScript"></script> <script> 弹出授权弹层: function authLoad(){ App.AuthDialog.show({ client_id : '<?=WB_AKEY;?>', //必选,appkey redirect_uri : '<?=$canvas_page;?>', //必选,授权后的回调地址,例如:http://apps.weibo.com/giftabc height: 120 //可选,默认距顶端120px }); } </script>
用户进行授权操作
用户进行授权操作后,会回调专业版应用页面(即e.weibo.com/<uid>/app_<appkey>),重新进行以上流程。
开发参考:API参考、 Javascript SDK 、PHPSDK及调用DEMO
应用动态高度自适应
Iframe高度:开发者可以使Iframe的高度根据你的应用页面自适应,但需要开发者在应用页面中部署一段JS代码:
<script src="http://js.t.sinajs.cn/t4/enterprise/js/public/appframe/client.js?version="></script> <script type="text/javascript"> FrameClient.addEvent('scroll', function(evt, data){ //使用data中需要的属性来达到自己相对于父页面的定位。 }); </script>
- 提示:若你的应用有多个页面,并且每个页面的高度不一致,则每个页面都需要部署以上JS代码。
URL规范
- 本规范主要针对展示类应用的前台,展示类应用的后台和管理类应用请忽略
- 应用父框架URL为http://e.weibo.com/{uid}/app_{appkey}?key=******
- 应用内部页面与新浪专业版微博应用url必须实现一一对应
- 在专业版应用内部页面分享相关的功能或者组件中,请务必以新浪专业版微博应用url作为分享内容中的链接
- 应用内部的跳转链接,无论是<a>标签,还是js代码跳转等,强制要求必须使用新浪专业版微博应用url
- 假设新浪专业版微博应用url为http://e.weibo.com/{uid}/app_{appkey}?key=****** ,则专业版微博的页面框架会向专业版应用iframe地址url中追加以下参数“key=******”,应用应当根据相应参数,加载相应的页面或进行对应处理响应。******部分可进行自定义,但会过滤掉除字母数字以及下划线外的其它特殊字符
- 专业版微博应用框架还会向第三方应用传递以下参数:
1、viewer:当前登录用户uid
2、cid:被访问者(专业版微博)uid
3、sub_appkey:
专业版应用审核
当您完成专业版应用的开发并测试没有问题后,可以在专业版应用的汇总信息页面点击“提交审核”按钮,将您的应用提交给平台工作人员进行审核。 我们的工作人员在收到您的申请后,会和您进行联络,并试用您所开发的应用,在确认应用开发已经完成并且可以正常使用后,会通过您的申请。
专业版应用通过审核之后,将突破15个测试帐号的限制,可以被所有的微博用户所使用,并且自动被推荐到应用广场。
审核详情请参考:专业版应用审核规范