組織には複数のラベルを設定でき、ラベルには複数のフィールドを設定できます。
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 は、顧客の名前に置き換えます。