专业版应用开发指南
(→应用动态高度自适应) |
(→应用动态高度自适应) |
||
第169行: | 第169行: | ||
}); | }); | ||
</script> | </script> | ||
− | |||
− | |||
</pre> | </pre> | ||
<br> | <br> |
2013年1月23日 (三) 14:21的版本
目录 |
专业版应用创建及发布流程图
专业版应用的创建及发布包括下面的流程,开发者可以根据应用当前的状态进行相应的操作:
请注意,修改白名单以及企业应用定价,无须进行二次审核。
登录微博账号
建议由技术开发人员使用官方微博帐号来登录
设置开发者信息
点击顶导航“应用开发”,在下拉菜单中选择“专业版应用”,进入到应用开发页面; 在应用开发页面中,点击“创建应用”按钮:
- 若您还没有填写开发者信息,系统会自动跳转到编辑开发者信息页面。
开发者信息内容填写:
- 开发者类型:个人/公司,根据实际情况进行填写。如开发收费的通用应用,必须以公司身份填写。
- 开发者名称:请填写公司名称或者您的个人姓名。
- 其他信息:个人/公司网站、联系电话、联系Email。
- 请如实填写,以便于我们和您及时沟通联系。
- 填写完毕,请点击保存按钮进行保存
创建专业版应用
创建专业版应用需要完善以下信息:
- 应用名称:该名称用于来源显示,用户通过应用发布微博信息后,应用的名称会出现在微博信息下方,点击后直接进入应用地址。
- 应用分类:请依据您所开发的应用类型来选择相关的分类信息;请确认您的应用分类正确,否则无法通过您的审核申请。
编辑应用基本信息
应用页面设置
- 应用名称:站内应用、移动应用、网站接入中已经使用的应用名称均不可再注册成为专业版应用。仅官方应用和认证合作伙伴应用可以使用 “企业※※”、”政府※※”、“媒体※※”、“蓝V※※”作为应用名称,否则相应申请将被驳回
- 应用地址:专业版微博主页通过iframe嵌入的应用前台页面,用于展示给机构的访问者看
- 管理地址:专业版微博管理后台通过iframe嵌入的应用后台页面,用于专业版微博主管理之用
- 应用类型:如果是只有后台管理,无须前台展示的应用,请选择应用类型为“管理类应用”(重要,设置错误可能导致相关功能异常,#请谨慎设置,如有疑问请联系 qyapps@staff.sina.com.cn)
- 行业分类:通用、汽车、美食、旅游、房产、电商、教育、零售、休闲娱乐、IT、服饰、美容化妆、文化出版、金融。例如,您的应用选择的行业分类是美食,则在专业版应用广场中,您的应用会出现在美食应用的筛选结果中。
- 功能分类:通用、互动展示、营销工具、市场调研、求职招聘、运营管理、客户服务、舆情监控、数据分析。例如,您的应用选择的功能分类是数据分析,则在专业版应用广场中,您的应用会出现在数据分析应用的筛选结果中。
SEO相关
专业版应用创建时填写的“应用介绍”内容,会进入专业版微博框架meta信息中的Description,“行业分类”、“功能分类”会进入专业版微博框架页面的Keywords部分,“应用名称”会成为专业版微博框架title中的一部分。请在开放平台填写相应信息时,注意做好SEO优化。
应用截图
- 请上传相关的应用介绍照片,这些图片会在应用频道中展示,让用户能更直观的了解你的应用。
测试用户
- 应用在未通过审核之前,不能大范围推广,您可以设置最多15个测试用户来测试尚在开发中的应用。
- 相关内容填写完毕后,请点击保存按钮进行保存。
技术开发
应用信息保存成功后,将会获得该应用的App Key和Secret Key,您可以通过这两个Key数据开始进行相关的技术开发工作。
App Key是应用的唯一标识,开放平台通过App Key来鉴别应用的身份。 AppSecret是给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的的可靠性,防止被伪造。
企业应用授权机制
专业版应用的使用分为两步,第一步是在专业版微博应用广场中安装应用,第二步(如果需要的话),是用户通过OAuth完成相应的授权。机构安装应用后,会生成各自不同的sub appkey,用以和应用的Appkey区分。当用户对专业版应用进行授权的时候,应直接对sub_appkey授权,也就是OAuth授权请使用sub_appkey以及相应的secret来完成。通过这样的授权机制,用户向“京东商城”的“微热卖”应用授权,不意味着同时也向“天猫”的“微热卖”授权。如果不严格遵守sub_appkey机制,将无法使用专业版应用的通知机制,未来也有可能产生更多的其它接口问题。
专业版应用授权流程
专业版应用框架会GET给您的应用以下信息:
1.1用户未授权传递参数
必选 | 类型及范围 | 说明 | |
---|---|---|---|
cid | true | int | 当前被访问的专业版用户uid |
viewer | true | int | 当前登陆用户uid |
sub_appkey | true | string | 企业安装应用后的子key |
用户未授权时应用需要自动判断,并调用OAuth 2.0 授权弹层。
1.2用户授权后传递参数
必选 | 类型及范围 | 说明 | |
---|---|---|---|
cid | true | int | 当前被访问的专业版用户uid |
viewer | true | int | 当前登陆用户uid |
sub_appkey | true | string | 企业安装应用后的子key |
tokenString | true | string | access token,请按.分割为两部分,后一部分先base64_decode,然后json_decode |
授权回调页设置:
调用应用授权弹层
调用授权弹层时,页面背景用一张应用图片填充,给用户带来更好的体验。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>未授权时的页面</title> <style> body{ background:url("http://qimeng.appsina.com/images/1.jpg"); } </style> <script src="http://js.t.sinajs.cn/t4/enterprise/js/public/appframe/client.js" type="text/javascript"></script> <script src="http://tjs.sjs.sinajs.cn/t35/apps/opent/js/frames/client.js" type="text/javascript"></script> <script> //弹出授权弹层: function authLoad(){ App.AuthDialog.show({ client_id : '<?=WB_AKEY;?>', //必选,填入框架通过get方式传递的sub_appkey参数 redirect_uri : '<?=$canvas_page;?>', //必选,授权回调地址,必须以http://e.weibo.com开头,类似http://e.weibo.com/1717871843/app_738247391 //或者http://e.weibo.com/thirdapp/app?appkey=738247391,不同企业应用的前台url是不固定的,需要用uid拼装 height: 120, //可选,默认距顶端120px display: 'apponweibo' //必选,移动端H5授权则应为display: 'mobile' }); } </script> </head> <body onload="authLoad();"> </body> </html>
线上授权范例:http://e.weibo.com/2822861085/app_639562573
用户进行授权操作
用户进行授权操作后,会回调专业版应用页面(即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:{ top : 0, //子页面顶部相对于父页面顶部距离 left : 0, //子页面左侧相对于父页面左侧距离 scrollTop : 0,//父页面纵向滚动条顶部距离 scrollLeft : 0,// 父页面横向滚动条 width : 0, height : 0 }//使用data中需要的属性来达到自己相对于父页面的定位。 }); </script>
- 提示:若你的应用有多个页面,并且每个页面的高度不一致,则每个页面都需要部署以上JS代码。
页面中如果存在浮动层,并且浮动层的最下边超过了页面中的底部元素。这种情况下可能会出现高度自适应不正常。
解决方案:
(1)浮动层在页面基本元素的可视范围内显示。
(2)在页面底部插入一个空白元素,高度视情况而定(如:空白元素的下边沿与浮动层的下边沿持平)。
(3)将页面中的body或者某个外层容器的高度设置为一个合适的值(如:<body style="height:800px;">)。
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=******”,应用应当根据相应参数,加载相应的页面或进行对应处理响应。******部分可进行自定义,但会过滤掉除字母数字以及下划线外的其它特殊字符
数据监测
<a suda-uatrack = "key=ebusiness_apps&value=1365680744:1762587913:share: 13939943415:58: 2nBbQ2Yj:1" href="javascript:void(0)" onclick="return false;" action-type = "change" class = "change_cont" action-data = "offset=1">分享</a>
企业可以在专业版微博管理首页—数据中心—应用数据中查看到相应的互动数据等。第三方开发者可以在open.weibo.com我的应用—数据统计查看相应数据。
安全相关
专业版应用应当判定HTTP的referer参数,如果来源不是http://e.weibo.com 域名下的链接,应显示友好的错误提示,个性化应用也可以直接跳转到对应的专业版微博框架地址。
有后台管理设置的专业版应用,应考虑在后台进行授权控制,保证通过框架获得的cid参数和授权后获得uid一致,才允许访问后台,修改应用设置。
移动端Html5支持
新浪企业微博应用H5首页url为:http://e.weibo.cn/{uid}/app_{appkey}
在移动端浏览器中,访问http://e.weibo.com/{uid}/app_{appkey}?key=****** ,会重定向到http://e.weibo.cn/{uid}/app_{appkey}?key=******
以上跳转映射由企业微博框架完成,应用可以忽略,但应用的首页需要根据浏览器的类型以及HTTP referer等必要的信息,加载或跳转至对应的应用页面。例如HTTP referer如果是e.weibo.com,则加载PC端页面;如果是e.weibo.cn,则加载移动端H5页面。
微博移动客户端框架(同样是iframe机制)同样会向第三方应用传递以下参数:
i. viewer:当前登录用户uid
ii. cid:被访问者uid
iii. sub_appkey
H5的OAuth授权中的display参数应使用mobile。请参考http://open.weibo.com/wiki/Oauth2/authorize 中的说明
企业应用H5的导航必须明确、易于点击。如果包含多个页面,则需要明确的返回首页的导航。
企业应用H5测试流程:
1、自行申请测试应用,无须提交审核。申请完成后请将应用名称和appkey通过邮件告知qyapps@staff.sina.com.cn,请求打开移动端支持。
2、申请测试帐号,测试帐号PC端安装测试应用,并设置前台显示。
3、通过最新微博客户端搜索测试帐号,进入测试。
移动端use-agent:
'mobilephone' => array( 'nokia' => 'Nokia', 'iphone' => 'iPhone', 'ipod' => 'iPod', 'symbian' => 'Symbian', 'android' => 'Android', 'htc' => 'HTC', 'SonyEricsson' => 'SonyEricsson', 'Sony' => 'Sony', 'motorola' => 'Motorola', 'mobileexplorer' => 'Mobile Explorer', 'openwave' => 'Open Wave', 'opera mini' => 'Opera Mini', 'operamini' => 'Opera Mini', 'elaine' => 'Palm', 'palmsource' => 'Palm', 'digital paths' => 'Palm', 'avantgo' => 'Avantgo', 'xiino' => 'Xiino', 'palmscape' => 'Palmscape', 'ericsson' => 'Ericsson', 'blackBerry' => 'BlackBerry', 'SmartPhone' => 'SmartPhone', 'WindowsCE' => 'WindowsCE', 'Mobile' => 'Unknown Mobile', ) 'pad' => array( 'ipad' => 'iPad', 'tablet' => 'Tablet', )
专业版应用审核
当您完成专业版应用的开发并测试没有问题后,可以在专业版应用的汇总信息页面点击“提交审核”按钮,将您的应用提交给平台工作人员进行审核。 我们的工作人员在收到您的申请后,会和您进行联络,并试用您所开发的应用,在确认应用开发已经完成并且可以正常使用后,会通过您的申请。
专业版应用通过审核之后,将突破15个测试帐号的限制,可以被所有的微博用户所使用,并且自动被推荐到应用广场。
PDF完整版开发文档下载:个性化应用开发文档(PDF) 通用应用开发文档(PDF)
专业版应用开发者红宝书
审核详情请参考:专业版应用审核规范