ラベルを検索

組織には複数のラベルを設定でき、ラベルには複数のフィールドを設定できます。 Google ドライブ Labels API には、 labels リソースが用意されており、ラベルの読み取りを可能にします。

このドキュメントでは、Drive Labels API を使用してラベルを検索して取得する方法について説明します。

メソッド

labels リソースには、ラベル値を読み取るための次のメソッドが用意されています。各メソッドには特定のタスクが想定されています。

範囲 メソッド
リソース名による単一ラベル labels.get
すべてのラベル labels.list

リソース名でラベルを取得する

リソース名で単一のラベルを取得するには、 get リソースで labels メソッドを使用します。

ラベルリソース name は必須で、次の構造にできます。

  • labels/{id} または labels/{id}@latest: 最新のラベル リビジョンを取得します。
  • labels/{id}@published: 現在公開されているラベル リビジョンを取得します。
  • labels/{id}@{revisionId}: 指定されたリビジョン ID のラベルを取得します。

LabelView オブジェクトを LABEL_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
const name = 'labels/NAME@published';

// Label view controls level of data in response
const 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);
});

NAME は、ラベルの名前に置き換えます。

すべてのラベルを一覧表示する

ラベルのリストを取得するには、 list リソースで labels メソッドを使用します。

次の項目も指定する必要があります。

  • このリスト リクエストのスコープを設定する customer クエリ パラメータ。customer が設定されていない場合は、現在の顧客内のすべてのラベルが返されます。

  • LabelView オブジェクト を LABEL_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');
  }
});

CUSTOMER は、顧客の名前に置き換えます。