SuperAPI AI 工具集

share-link

办公与效率

查看项目

更新于 10-16 10:33

技能介绍

用途

share-link 用于管理 Microsoft App 的租户级即时兑换(JIT-redemption)共享链接。接收者第一次打开共享链接时,会在应用范围内自动获得 Microsoft App Reader 角色,无需显式提供主体列表。

共享链接用于在租户范围内分发播放访问权限。若需为指定的具名用户授予播放或编辑权限,应改用 /share。

主要能力

提供三个子命令:

  • ms app share link create:生成新的共享链接 URL。
  • ms app share link list:列出所有有效的共享链接。
  • ms app share link revoke:按 ID 撤销链接,同时移除已兑换者的访问权限。

使用方式

前置校验

在 Microsoft App 工作区中运行,需确认存在 ms.config.json:

test -f ms.config.json || { echo "Not in a Microsoft App workspace."; exit 1; } BIN=ms $BIN auth status

--app 和 --environment-id 均可显式提供,以便在项目目录之外运行。当存在 ms.config.json 时,其 appId 与 environmentId 会被自动使用。

创建

$BIN app share link create

标志:

  • --app:可选,应用名覆盖,默认使用 ms.config.json 中的 appId。
  • --environment-id / -e:可选,环境 ID 覆盖,默认使用 ms.config.json。
  • --json:可选,输出机器可读信封:{ success, appName, appShareLinkId, shareLinkUrl }。

成功后 CLI 会单独一行打印共享链接 URL,便于复制。

列出

$BIN app share link list

标志与 create 相同(--app / --environment-id / --json),无额外标志。人类可读输出为表格,包含列:LINK ID、ROLE、REDEEMERS、CREATED BY。表格中故意省略 URL,如需完整 URL 请使用 --json。若列表为空,表示当前没有有效的共享链接。

撤销

运行前需向用户确认:

"About to revoke share link <link-id> for app <app-name>. Anyone who has not yet redeemed it will lose access; users who already redeemed it will have their Microsoft App Reader role removed. Continue?"

等待用户明确确认后再执行,切勿自动继续,因为这会移除所有已兑换者的访问权限。

$BIN app share link revoke --link-id <link-id>

标志:

  • --link-id / -l:必填,创建时返回的 4 位小写十六进制链接 ID(例如 a3f1)。
  • --force / -f:可选,跳过 CLI 自身的确认提示。非交互运行时应始终传入 --force,因为代理已在前一步询问过确认。
  • --app:可选,应用名覆盖。
  • --environment-id / -e:可选,环境 ID 覆盖。
  • --json:可选,信封:{ success, appName, linkId, existed: boolean }。

若用户已确认,可传 --force 以避免二次提示:

$BIN app share link revoke --link-id a3f1 --force

适用场景

  • 需要在同一租户内分发应用的只读播放访问权限,且不想逐个维护授权对象列表。
  • 希望通过一个链接让租户内任意用户首次打开时自动获得 Microsoft App Reader 角色。
  • 需要在分发后仍能集中查看所有有效链接,并在必要时撤销链接、收回已兑换者的访问权限。

限制与注意事项

  • 共享链接授予的是租户范围内的只读应用访问权限。
  • 撤销链接会同时移除已兑换者的 Microsoft App Reader 角色,属于影响面较大的操作,需用户明确确认。
  • 若撤销时提示链接未找到(existed: false 或 404 AppShareLinkNotFound),视为无操作,告知用户即可。
  • 遇到硬错误(认证 / 应用未找到 / 非零退出)应原样呈现并停止,不要重试。
  • 若用户不知道要撤销的链接 ID,可先运行 ms app share link list 获取 ID。
  • 若需一次性撤销全部链接,可运行 ms app share link list --json,提取所有 appShareLinkId,确认一次后用 --force 逐个撤销。

工作流

Memory Bank → 验证项目与环境 → 选择模式 → 运行 → 呈现结果。

第一步读取 memory-bank.md(按 shared-instructions.md),获取已记录的应用环境/应用标识符。