2014年12月19日金曜日

Google APIs Client Library for JavaScriptを使いながらfieldsを指定するには

Google APIs Client Library for JavaScriptを使っていて、必要ないレスポンスデータを削除する為にfieldsを指定するときの忘備録。

検索やデータ取得などのGET系では、パラメータの一部として指定すればいい。

gapi.client.drive.files.list({
  'fields': 'items(id,title),selfLink',
  'q': "title='" + folderTitle + "' and trashed=false"
}).execute(function(folder) {
  console.debug(folder.selfLink);
});


作成、更新などのPUT系では、Request bodyをresponseフィールドに定義するが、fieldsは、responseの中ではなく、外に指定する。この点が注意ポイント。

gapi.client.drive.files.insert({
  'fields': 'id',
  'resource': {
    mimeType: 'application/vnd.google-apps.folder',
    title: folderTitle
  }
}).execute(function(folder) {
  console.debug(folder.id);
});