---
title: 把私有应用分享给另一个服务器
description: 不在市场上架，也能让某个指定的服务器安装你的 Raft 应用。创建私有共享链接，发给对方，并管理或撤销它。
llms_section: "Developers zh-CN"
llms_order: 1896
llms_summary: "已注册的 Raft 应用需要让一个或几个指定的服务器安装、又不经过市场审核时阅读，包括创建链接、安装、重新生成和撤销的步骤。"
---

# 把私有应用分享给另一个服务器

完成后：你的应用安装到了另一个服务器上，同时不会出现在市场里。整个过程不需要审核。

**预计用时：** 几分钟，另加对方服务器管理员安装所需的时间。

## 开始之前 {#before-you-start}

- 你的应用已在某个 Raft 服务器中注册并保存。如果还没有，请从 [构建 Raft 应用](/zh-cn/developers/raft-apps/build/) 开始。
- 你是注册这个应用的服务器的所有者或管理员。如果由 Agent 替你创建链接，这个 Agent 需要拥有该应用（应用是它注册的，或者所有者把应用转给了它），或者在该服务器上拥有 Agent 的管理员角色。
- 应用的分发状态是 **私有** 或 **已驳回**。市场发布申请审核期间，或应用发布之后，不会显示共享卡片。
- 你知道谁来安装：对方服务器的所有者或管理员。只有他们能安装，普通成员不能。

## 第 1 步：创建链接 {#step-1-create-the-link}

- 在拥有该应用的服务器中打开 **设置 → 应用 → 我的应用**，点击这个应用的 **编辑**。
- 打开 **分发** 分区。在 **私有共享链接** 下点击 **创建链接**。
- 立即点击 **复制** 复制网址。Raft 只显示一次。之后卡片上只会显示当前有效链接的过期时间，不会再显示网址。

在应用编辑器里创建的链接有效期为 30 天。

由 Agent 执行：

```bash
raft integration app share-link --client <client-key> --expires-days 30
```

`--expires-days` 可以取 1 到 365，默认是 30。回执只打印一次网址，并附上过期时间。加上 `--json` 可以得到机器可读的回执。

如果这个应用此前只能在你自己的服务器上使用，创建链接后，其他服务器也可以安装它。应用仍然是私有的，不会出现在市场里。这个变化是永久的：撤销链接可以阻止新的安装，但应用不会再回到只能在你服务器上使用的状态。

## 第 2 步：发送链接 {#step-2-send-the-link}

这个网址里含有一个类似凭据的 token。请私下发送，而且只发给要安装应用的那位所有者或管理员。在链接过期或被你撤销之前，任何已登录 Raft、并且是某个服务器所有者或管理员的人，都可以用它把应用安装到那个服务器上。

## 第 3 步：对方服务器安装应用 {#step-3-the-other-server-installs-it}

接收方在登录 Raft 的状态下打开链接。**安装已连接应用** 页面会显示这个应用、是谁从哪个服务器分享的、它的客户端 ID、主页、回调地址，以及邀请有效期。

- 在 **安装目标** 下，对方从自己担任所有者或管理员的服务器中选一个。已经装有这个应用的服务器会标注 **（已安装）**。
- 对方点击 **安装应用**。之后，这个服务器的成员和 Agent 就可以使用该应用了。
- 如果对方不是任何服务器的所有者或管理员，页面会说明这一点，此时无法安装。
- 安装不会用掉链接。在过期或被撤销之前，同一个链接可以把应用安装到更多服务器上。
- 如果应用申请了 App Notifications，安装时会批准应用在那一刻申请的通知组。

如果页面显示 **未找到私有应用邀请**，说明链接已过期、已被撤销，或已被更新的链接取代。请向分享者要一个新链接。

## 管理链接 {#manage-the-link}

- **查看链接是否有效：** 私有共享链接卡片会显示当前有效链接的过期时间。由 Agent 执行时，`raft integration app share-link-status --client <client-key>` 会显示同样的信息，但不含网址。
- **网址丢了：** 网址无法再次显示。点击 **重新生成**（或者再次运行 `share-link`）获取新网址。这会撤销之前的链接，旧网址随即失效。
- **阻止新的安装：** 点击 **撤销**，或者运行 `raft integration app revoke-share-link --client <client-key>`。撤销不会从已经安装的服务器上卸载应用。这些服务器会一直保留它，直到各自的所有者或管理员卸载。

## 接下来 {#what-s-next}

- 想让任何服务器都能安装这个应用，就[把它发布到市场](/zh-cn/developers/raft-apps/publish/)。私有共享和市场上架互不影响：被驳回不会移除私有安装。
- 已安装应用、私有共享应用和市场应用在服务器上分别如何呈现，见 [应用](/zh-cn/features/apps/#installing)。
