套件开发

开发环境准备

在开发套件之前,你需要做好以下工作:

1、服务器环境搭建和域名注册

上架友空间应用市场的开发者,需要搭建服务器开发环境,并为自己的轻应用注册合法有效的域名。

2、开发环境搭建

友空间开放平台的服务端接口不区分语言和开发平台、推荐使用java、开发者可以使用自己熟悉的技术来搭建开发环境来开发轻应用。

3、注册成为认证开发者

4、创建套件

套件是一组轻应用,对这一组轻应用进行统一权限管理。

创建应用套件

  注册成为认证开发者之后,即可创建应用套件。应用套件是第三方应用授权的主体,接口的开发都与应用套件息息相关,请开发者仔细阅读下方内容。

基本信息:

信息项
要求及说明
套件Logo应用套件的Logo,小于2M,640*640,在授权页会被用于展示
套件描述描述该应用套件所提供的服务,4-120个字

开发信息:

套件参数内容
说明
回调URL系统将会把此套件的临时授权码、授权变更事件、SuiteTicket参数推送给此URL,SuiteTicket说明详见API接口说明。(填写URL时需要正确响应友空间验证URL的请求,具体说明请阅读第三方回调协议)
Token可任意填写,用于生成签名,校验回调请求的合法性。后续所有托管的企业产生的回调消息都使用该值来解密。
EncodingAESKey回调消息加解密参数,是AES密钥的Base64编码,用于解密回调消息内容对应的密文。后续所有托管的企业产生的回调消息都使用该值来解密。
用户数据访问权限是否需要访问对应的姓名、邮箱、头像、生日等用户信息,如果不勾选,则相应字段返回内容为空。
接口权限访问服务器接口的权限,比如获取企业用户列表、获取组织架构、获取空间列表等,如果未配置此权限,则无权限访问此接口
  创建套件完成之后,系统会告知开发者该应用套件的套件Suiteid和套件Suitesecret。Suiteid和Suitesecret,请妥善保管。

在应用套件里添加应用

  当你创建完应用套件后,需要在套件配置应用,应用的信息填写相对简单。

基本信息:

信息项要求及说明
应用Logo应用的Logo,小于2M,640*640,在授权页会被用于展示。
应用名称应用的名称,2-16个字。
客户端勾选是否在友空间web端显示
描述描述该应用的功能与特色,4-120个字内
访问数据说明应用访问隐私数据的说明、用于审核上架使用
定价应用访问隐私数据的说明、用于审核上架使用

开发信息:

应用参数内容说明
移动端主页用于移动端接收托管开放平台应用的用户消息,URL支持使用$CORPID$模板参数表示corpid,推送事件时会替换为企业的corpid。(填写URL时需要正确响应友空间验证URL的请求,具体说明请阅读“回调模式”,注意验证时$CORPID$模板参数会替换为当前服务商的corpid)
web主页用于web端托管开放平台应用的用户消息,URL支持使用$CORPID$模板参数表示corpid,推送事件时会替换为企业的corpid。(填写URL时需要正确响应友空间验证URL的请求,具体说明请阅读“回调模式”,注意验证时$CORPID$模板参数会替换为当前服务商的corpid)

添加测试套件

  为方便开发者调试应用,开放平台提供了测试空间供开发者使用。建议开发者在开发期间可以在测试空间建立测试套件进行开发调试工作,套件和应用在测试空间开发调试完毕ok后,再创建正式的套件和申请应用上架,使用测试空间需要进行以下几步操作:

  1.添加测试空间

  2.添加测试套件

  3.添加测试套件的应用

  上述步骤完成之后,开发者以管理员身份进入友空间后台(应用管理-应用市场-我的测试应用)即可以看到测试套件,点击套件可以进入详情查看套件相关应用

  相关应用

开发套件

友空间开放平台提供了接入一组应用接入与授权的接口,通过实现接入与授权接口您可以快速发布自己的轻应用套件,并在企业客户授权开通轻应用时,自动进行开通激活,企业用户可以授权后直接使用您的套件(应用),接口使用可以[参考ISV接口指南];该指南主要介绍了企业和ISV(服务提供商)如何接入友空间开放平台,其中涉及到接入过程中使用的工具、与友空间开放平台相关的概念,以帮助开发者快速开发自己的轻应用。

友空间开放平台提供了企业组织架构管理、用户管理、空间服务和消息等功能,接口使用可以参考服务端开发文档

我们定制了轻应用专用的运行容器,提供了一组可以调用友空间的本地能力和业务逻辑的JS接口,开发者可以通过这些接口使用友空间的本地能力提高轻应用在移动客户端的体验。接口使用可以参考客户端开发文档

调试套件

友空间开放平台提供了开发过程中需要的调试工具,您可以参考接入调试工具jsapi调试工具

简单来说,像友空间的推送这种,它需要访问公网机器,并且之后的调试你也不方便在手机上作静态的 DNS 设置,这在开发时是比较不方便的,直接登录服务器写代码。

毕竟没有自己本地机器舒服。建议通过代理把远端服务器上的访问导到本机。而这种远端转发的能力,是 SSH 自带的。两步就可以了:

1.在 sshd 的配置中(比如 /etc/ssh/sshd_config)添加:

GatewayPorts clientspecified这让客户端可以指定转发端口。

2.本机启:ssh -R 0.0.0.0:9000:localhost:8888 root@host

就是把到达远端任意网卡的 9000 端口访问都转到本机的 8888 端口上来。这样我们本机服务启到 8888 上就可以正常响应友空间服务器对公网机器的访问了。

更多的细节可以参考:SSH端口转发

调试jsapi的技巧,开发pc web我们的做法是本地启一个静态 Web 服务,后端资源的地址前端随意控制的。这样我改前端代码,直接在浏览器刷新就能看到效果,调试很方便。但是换到做友空间的移动端页面时,情况有点不同,就是登录流程及友空间的 jsapi 部分。业务上的登录流程需要在友空间环境才能完成,单独的浏览器环境无法登录,友空间的jsapi 部分在单独的浏览器上更没办法。

所以,我们需要在友空间上调试。这方面,最简单直接的办法就是让友空间扫二维码来打开指定页面(同网内部地址都可以)。为了正常调试jsapi,你可能总是需要自己把接口参数写死加上之后,再生成二维码让友空间来扫。

建议的方法是:直接创建一个为开发调试而用的套件,里面又为各个前端环境创建不同的应用(比如CDN测试环境,公司时的本机环境,家里时的本机环境)。这样,只需要本机启一个静态 Web 服务器(本机IP相对是固定的),改完前端代码,在友空间中直接打开相应的应用就可以了,不用再重复扫码了。