# 简介
借助AirScript的高级服务，开发者只需要完成较少设置，即可连接到某些公开的金山文档API。 它们的使用方式与AirScript脚本的内置函数十分相似。

AirScript在运行时会自动处理[授权流程](#授权流程​)。 不过开发者必须[启用高级服务](#高级服务)，才能在脚本中使用该服务，若跳过该步骤，会因为找不到该服务而抛出**undefined**错误。

## <span id="高级服务">启用高级服务​</span>
要使用高级服务，请按以下说明操作：

1. 打开**AirScript编辑工具**弹出编辑页面。
2. 点击AirScript编辑工具上方的**服务**。
3. 点击**添加服务**。
![alt text](https://cloudcdn.qwps.cn/open/_img/32fa555afe.png)
4. 选择一项服务，然后点击**确认**。
   
启用高级服务后，该服务会在自动补全中显示。

## <span id="授权流程​">授权流程​</span>
AirScript需要用户授权才能访问高级服务中的私密数据。

### 授予运行权限​
AirScript会根据开发者编写脚本时启用高级服务的配置内容来确定授权范围 （例如访问指定文件或访问网络）。如果脚本需要授权，用户在运行脚本时会弹出授权对话框。 描述这个脚本涉及到的授权范围。

普通的代码更改并不会清空用户对脚本的授权。但如果开发者对更改了高级服务的配置（新增，修改或删除）， 那用户对脚本的授权也会清空，再次运行脚本时会重新触发授权流程。

### 取消授权​
用户可以对已授权的脚本手动取消授权，请按以下说明操作

1. 打开**AirScript编辑工具**弹出编辑页面。
2. 找到脚本列表下想取消授权的脚本，点击 … 显示更多操作。
3. 点击**取消服务授权**

## 使用限制​
为防止向用户提供恶意的脚本，出于安全性考虑，使用高级服务存在一些限制。

- 过于高频地使用高级服务，当出现这种情况时，脚本的运行会抛出明显的错误通知用户异常调用。
- 使用[HTTP](/app-integration-dev/guide/dbsheet/AirScript/advanced-services/AirScript-advanced-http)服务时，禁止使用IP地址发起请求，禁止使用端口发起请求。
- 使用[HTTP](/app-integration-dev/guide/dbsheet/AirScript/advanced-services/AirScript-advanced-http)服务时，收到内容的消息体最大为2M，超过2M会抛出错误。
- 使用[KSDrive.openFile](/app-integration-dev/guide/dbsheet/AirScript/advanced-services/AirScript-advanced-KSDrive) 获得的File对象没有调用close, 就再次使用KSDrive.openFile 会报错。