搜索标签

您的组织可以有多个标签,每个标签包含多个字段。Labels API 提供了 labels 集合,以便读取标签。

本页介绍了如何搜索和检索标签。

方法

labels 集合提供了以下用于读取标签值的方法,每种方法都可以执行特定的任务:

Range 阅读
按资源名称设置单个标签 labels.get
所有标签 labels.list

按资源名称获取标签

如需按资源名称获取单个标签,请使用 labels.get 方法。

标签资源名称为必填项,其结构如下:

  • labels/{id}labels/{id}@latest - 获取最新的标签修订版本。
  • labels/{id}@published - 获取当前已发布的标签修订版本。
  • labels/{id}@{revisionId} - 获取指定修订 ID 的标签。

您还必须指定:

  • LabelViewLABEL_VIEW_FULL,用于设置应用于标签响应的资源视图。LABEL_VIEW_FULL 会返回所有可能的字段。

此示例使用 Name 按资源名称获取单个标签。

Python

# Label name, with or without revision:
#
# Revision specified:
# labels/LABEL_ID@published
# labels/LABEL_ID@latest
# labels/LABEL_ID@1
#
# No revision specified, returns latest revision:
# labels/LABEL_ID

name = "labels/NAME@published"

# Label view controls level of data in response
view = 'LABEL_VIEW_FULL'

label = service.labels().get(name=name, view=view).execute()

Node.js

# Label name, with or without revision:
#
# Revision specified:
# labels/LABEL_ID@published
# labels/LABEL_ID@latest
# labels/LABEL_ID@1
#
# No revision specified, returns latest revision:
# labels/LABEL_ID

name = "labels/NAME@published"

# Label view controls level of data in response
view = 'LABEL_VIEW_FULL'

service.labels.get({
  'name': name,
  'view': view
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

列出所有标签

如需获取标签列表,请使用 labels.list 方法。

您还必须指定:

  • 用于限定此列表请求范围的 customer。如果未设置 customer,则会返回当前客户中的所有标签。

  • LabelViewLABEL_VIEW_FULL,用于设置应用于标签响应的资源视图。LABEL_VIEW_FULL 会返回所有可能的字段。

此示例使用 CUSTOMER 检索标签列表。

Python

response = service.labels().list(
  customer='customers/CUSTOMER', view='LABEL_VIEW_FULL').execute()

Node.js

const params = {
  'customer': 'customers/CUSTOMER',
  'view': 'LABEL_VIEW_FULL'
};

service.labels.list(params, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
const labels = res.data.labels;
if (labels) {
  labels.forEach((label) => {
    const name = label.name;
    const title = label.properties.title;
    console.log(`${name}\t${title}`);
  });
} else {
  console.log('No Labels');
  }
});