# @maxim\_mazurok/gapi\.client\.servicemanagement-v1 中文文档

规范地址：https://npmcn.com/package/%40maxim_mazurok/gapi.client.servicemanagement-v1/

版本：0\.3\.20261022
npm 元数据更新时间：2026-11-01T18:30:46.888Z
中文译文更新时间：2026-11-01T20:14:44.087Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40maxim_mazurok/gapi.client.servicemanagement-v1
原文对照：https://npmcn.com/package/%40maxim_mazurok/gapi.client.servicemanagement-v1/?lang=original
项目主页：https://github.com/Maxim-Mazurok/google-api-typings-generator#readme
源码仓库：https://github.com/Maxim-Mazurok/google-api-typings-generator

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：147 kB，3 个文件
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2022-08-14T02:25:02.541Z
- 最新版本发布：2026-11-01T18:30:46.512Z
- 已发布版本数：159（近 12 个月 18 个）

## 中文简介

服务管理API v1的TypeScript类型

## 安装

```sh
npm install @maxim_mazurok/gapi.client.servicemanagement-v1
```

也可以使用：`pnpm add @maxim_mazurok/gapi.client.servicemanagement-v1`、`yarn add @maxim_mazurok/gapi.client.servicemanagement-v1`、`bun add @maxim_mazurok/gapi.client.servicemanagement-v1`

## README

# 服务管理API v1的TypeScript类型

谷歌服务管理允许服务生产者在谷歌云平台上发布他们的服务，以便服务消费者可以发现和使用这些服务。 详细说明请查看 [文档](https://cloud.google.com/service-management/).

## 安装

Service Management API的安装类型：

```
npm install @types/gapi.client.servicemanagement-v1 --save-dev
```

## 打印稿6.0 +

TypeScript 6.0更改 `types` 默认为 `[]`． 中显式列出类型包 `tsconfig.json`：

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.servicemanagement-v1"
    ]
  }
}
```

## 使用

你需要在你的代码中初始化谷歌API客户端：

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

然后加载api客户端包装器：

```typescript
gapi.client.load(
  'https://servicemanagement.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.servicemanagement
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('servicemanagement', 'v1', () => {
  // now we can use:
  // gapi.client.servicemanagement
});
```

在向资源发送任何请求之前，不要忘记验证您的客户端：

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
    'https://www.googleapis.com/auth/cloud-platform',

    // View your data across Google Cloud services and see the email address of your Google Account
    'https://www.googleapis.com/auth/cloud-platform.read-only',

    // Manage your Google API service configuration
    'https://www.googleapis.com/auth/service.management',

    // View your Google API service configuration
    'https://www.googleapis.com/auth/service.management.readonly',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

之后你就可以使用Service Management API资源了：

```typescript
/*
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
*/
await gapi.client.servicemanagement.operations.get({name: 'name'});

/*
Lists service operations that match the specified filter in the request.
*/
await gapi.client.servicemanagement.operations.list({});

/*
Creates a new managed service. A managed service is immutable, and is subject to mandatory 30-day data retention. You cannot move a service or recreate it within 30 days after deletion. One producer project can own no more than 500 services. For security and reliability purposes, a production service should be hosted in a dedicated producer project. Operation
*/
await gapi.client.servicemanagement.services.create({});

/*
Deletes a managed service. This method will change the service to the `Soft-Delete` state for 30 days. Within this period, service producers may call UndeleteService to restore the service. After 30 days, the service will be permanently deleted. Operation
*/
await gapi.client.servicemanagement.services.delete({
  serviceName: 'serviceName',
});

/*
Generates and returns a report (errors, warnings and changes from existing configurations) associated with GenerateConfigReportRequest.new_value If GenerateConfigReportRequest.old_value is specified, GenerateConfigReportRequest will contain a single ChangeReport based on the comparison between GenerateConfigReportRequest.new_value and GenerateConfigReportRequest.old_value. If GenerateConfigReportRequest.old_value is not specified, this method will compare GenerateConfigReportRequest.new_value with the last pushed service configuration.
*/
await gapi.client.servicemanagement.services.generateConfigReport({});

/*
Gets a managed service. Authentication is required unless the service is public.
*/
await gapi.client.servicemanagement.services.get({serviceName: 'serviceName'});

/*
Gets a service configuration (version) for a managed service.
*/
await gapi.client.servicemanagement.services.getConfig({
  serviceName: 'serviceName',
});

/*
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
*/
await gapi.client.servicemanagement.services.getIamPolicy({
  resource: 'resource',
});

/*
Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for.
*/
await gapi.client.servicemanagement.services.list({});

/*
Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
*/
await gapi.client.servicemanagement.services.setIamPolicy({
  resource: 'resource',
});

/*
Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
*/
await gapi.client.servicemanagement.services.testIamPermissions({
  resource: 'resource',
});

/*
Revives a previously deleted managed service. The method restores the service using the configuration at the time the service was deleted. The target service must exist and must have been deleted within the last 30 days. Operation
*/
await gapi.client.servicemanagement.services.undelete({
  serviceName: 'serviceName',
});
```

有关来源信息，请参见 [NPM的出处部分](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.servicemanagement-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)

## 常见问题

### @maxim\_mazurok/gapi\.client\.servicemanagement-v1 是什么？

服务管理API v1的TypeScript类型

### 如何安装 @maxim\_mazurok/gapi\.client\.servicemanagement-v1？

在项目目录运行 npm install @maxim\_mazurok/gapi\.client\.servicemanagement-v1，或使用 pnpm add / yarn add / bun add。

### @maxim\_mazurok/gapi\.client\.servicemanagement-v1 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @maxim\_mazurok/gapi\.client\.servicemanagement-v1 可以商用吗？

@maxim\_mazurok/gapi\.client\.servicemanagement-v1 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @maxim\_mazurok/gapi\.client\.servicemanagement-v1 还在维护吗？

最新版本 0\.3\.20261022 发布于 2026/11/02（1 天前）；至今共发布 159 个版本，其中过去 12 个月发布了 18 个；首次发布于 2022/08/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

