Dokumen Discovery

Dokumen discovery tersedia untuk versi tertentu dari sebagian besar API. Setiap Dokumen Discovery API menjelaskan platform API, cara mengakses API, dan cara permintaan serta respons API disusun. Informasi yang diberikan dalam dokumen discovery mencakup properti API level seperti deskripsi API, skema resource, cakupan autentikasi, dan metode.

Metode

Dokumen Discovery berfokus pada metode RESTful memanggil API. Metode discovery.apis.list menampilkan daftar semua API yang didukung oleh Layanan Penemuan Google API termasuk URL untuk mengambil dokumen penemuan berbasis REST.

list
Mengambil daftar API yang didukung di endpoint ini.

Representasi Resource

{
  "kind": "discovery#restDescription",
  "discoveryVersion": "v1",
  "id": string,
  "name": string,
  "canonicalName": string,
  "version": string,
  "revision": string,
  "title": string,
  "description": string,
  "icons": {
    "x16": string,
    "x32": string
  },
  "documentationLink": string,
  "labels": [
    string
  ],
  "protocol": "rest",
  "baseUrl": string,
  "basePath": string,
  "rootUrl": string,
  "servicePath": string,
  "batchPath": "batch",
  "parameters": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        (key): {
          "description": string
        }
      }
    }
  },
  "features": [
    string
  ],
  "schemas": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "methods": {
    (key): {
      "id": string,
      "path": string,
      "httpMethod": string,
      "description": string,
      "parameters": {
        (key): {
          "id": string,
          "type": string,
          "$ref": string,
          "description": string,
          "default": string,
          "required": boolean,
          "format": string,
          "pattern": string,
          "minimum": string,
          "maximum": string,
          "enum": [
            string
          ],
          "enumDescriptions": [
            string
          ],
          "repeated": boolean,
          "location": string,
          "properties": {
            (key): (JsonSchema)
          },
          "additionalProperties": (JsonSchema),
          "items": (JsonSchema),
          "annotations": {
            "required": [
              string
            ]
          }
        }
      },
      "parameterOrder": [
        string
      ],
      "request": {
        "$ref": string
      },
      "response": {
        "$ref": string
      },
      "scopes": [
        (value)
      ],
      "supportsMediaDownload": boolean,
      "supportsMediaUpload": boolean,
      "mediaUpload": {
        "accept": [
          string
        ],
        "maxSize": string,
        "protocols": {
          "simple": {
            "multipart": true,
            "path": string
          },
          "resumable": {
            "multipart": true,
            "path": string
          }
        }
      },
      "supportsSubscription": boolean
    }
  },
  "resources": {
    (key): {
      "methods": {
        (key): {
          "id": string,
          "path": string,
          "httpMethod": string,
          "description": string,
          "parameters": {
            (key): {
              "id": string,
              "type": string,
              "$ref": string,
              "description": string,
              "default": string,
              "required": boolean,
              "format": string,
              "pattern": string,
              "minimum": string,
              "maximum": string,
              "enum": [
                string
              ],
              "enumDescriptions": [
                string
              ],
              "repeated": boolean,
              "location": string,
              "properties": {
                (key): (JsonSchema)
              },
              "additionalProperties": (JsonSchema),
              "items": (JsonSchema),
              "annotations": {
                "required": [
                  string
                ]
              }
            }
          },
          "parameterOrder": [
            string
          ],
          "request": {
            "$ref": string
          },
          "response": {
            "$ref": string
          },
          "scopes": [
            (value)
          ],
          "supportsMediaDownload": boolean,
          "supportsMediaUpload": boolean,
          "mediaUpload": {
            "accept": [
              string
            ],
            "maxSize": string,
            "protocols": {
              "simple": {
                "multipart": true,
                "path": string
              },
              "resumable": {
                "multipart": true,
                "path": string
              }
            }
          },
          "supportsSubscription": boolean
        }
      },
      "resources": {
        (key): (RestResource)
      }
    }
  }
}
Nama Properti Value Deskripsi Catatan
kind string Jenis respons ini.String tetap discovery#restDescription.
discoveryVersion string Menunjukkan versi Discovery API yang digunakan untuk membuat dokumen ini.
id string ID dokumen Discovery untuk API. Contoh, urlshortener:v1.
name string Nama API. Misalnya, urlshortener.
canonicalName string Nama kanonis API. Misalnya, Url Shortener.
version string Versi API. Contoh, v1.
revision string Revisi API.
title string Judul API. Misalnya, "Google Url Shortener API".
description string Deskripsi API ini.
icons object Link ke ikon 16x16 dan 32x32 yang mewakili API.
icons.x16 string URL dari ikon 16x16.
icons.x32 string URL ikon 32x32.
labels[] list Label untuk status API ini. Nilai yang valid mencakup limited_availability atau deprecated.
protocol string Protokol yang dijelaskan oleh dokumen. Misalnya, REST.
rootUrl string URL root tempat semua layanan API berada.
parameters object Parameter umum yang berlaku di semua API.
parameters.(key) nested object Deskripsi parameter tunggal.
parameters.(key).id string ID unik untuk skema ini.
parameters.(key).type string Jenis nilai untuk skema ini. Daftar nilai dapat ditemukan di bagian "type" dalam Skema JSON.
parameters.(key).$ref string Referensi ke skema lain. Nilai properti ini adalah ID skema lain.
parameters.(key).description string Deskripsi objek ini.
parameters.(key).default string Nilai default properti ini (jika ada).
parameters.(key).required boolean Apakah parameter diperlukan.
parameters.(key).format string Ekspresi atau kunci reguler tambahan yang membantu membatasi nilai. Untuk detail selengkapnya, lihat Ringkasan Jenis dan Format.
parameters.(key).pattern string Ekspresi reguler yang harus sesuai dengan parameter ini.
parameters.(key).minimum string Nilai minimum parameter ini.
parameters.(key).maximum string Nilai maksimum parameter ini.
parameters.(key).enum[] list Nilai yang mungkin digunakan parameter ini (jika berupa enum).
parameters.(key).enumDescriptions[] list Deskripsi untuk enum. Setiap posisi dipetakan ke nilai yang sesuai dalam array enum.
parameters.(key).repeated boolean Apakah parameter ini dapat muncul beberapa kali.
parameters.(key).location string Apakah parameter ini digunakan dalam kueri atau jalur untuk permintaan REST.
parameters.(key).properties object Jika ini adalah skema untuk suatu objek, cantumkan skema untuk setiap properti objek ini.
parameters.(key).properties.(key) nested object Satu properti dari objek ini. Nilainya sendiri adalah objek Skema JSON yang mendeskripsikan properti ini.
parameters.(key).additionalProperties nested object Jika ini adalah skema untuk objek, properti ini adalah skema untuk properti tambahan apa pun dengan kunci dinamis pada objek ini.
parameters.(key).items nested object Jika ini adalah skema untuk array, properti ini adalah skema untuk setiap elemen dalam array.
parameters.(key).annotations object Informasi tambahan tentang properti ini.
parameters.(key).annotations.required[] list Daftar metode yang memerlukan properti ini pada permintaan.
auth object Informasi autentikasi.
auth.oauth2 object Informasi autentikasi OAuth 2.0.
auth.oauth2.scopes object Cakupan OAuth 2.0 yang tersedia.
auth.oauth2.scopes.(key) object Nilai cakupan.
auth.oauth2.scopes.(key).description string Deskripsi cakupan.
features[] list Daftar fitur yang didukung untuk API ini.
schemas object Skema untuk API ini.
schemas.(key) nested object Deskripsi skema individual.
schemas.(key).id string ID unik untuk skema ini. Contoh: URL
schemas.(key).type string Jenis nilai untuk skema ini. Daftar nilai dapat ditemukan pada bagian "type" di Skema JSON.
schemas.(key).$ref string Referensi ke skema lain. Nilai properti ini adalah ID skema lain.
schemas.(key).description string Deskripsi objek ini.
schemas.(key).default string Nilai default properti ini (jika ada).
schemas.(key).required boolean Apakah parameter diperlukan.
schemas.(key).format string Ekspresi atau kunci reguler tambahan yang membantu membatasi nilai.Untuk mengetahui detail selengkapnya, lihat Ringkasan Jenis dan Format.
schemas.(key).pattern string Ekspresi reguler yang harus sesuai dengan parameter ini.
schemas.(key).minimum string Nilai minimum parameter ini.
schemas.(key).maximum string Nilai maksimum parameter ini.
schemas.(key).enum[] list Nilai yang mungkin digunakan parameter ini (jika berupa enum).
schemas.(key).enumDescriptions[] list Deskripsi untuk enum. Setiap posisi dipetakan ke nilai yang sesuai dalam array enum.
schemas.(key).repeated boolean Apakah parameter ini dapat muncul beberapa kali.
schemas.(key).location string Apakah parameter ini digunakan dalam kueri atau jalur untuk permintaan REST.
schemas.(key).properties object Jika ini adalah skema untuk suatu objek, cantumkan skema untuk setiap properti objek ini.
schemas.(key).properties.(key) nested object Satu properti dari objek ini. Nilainya sendiri adalah objek Skema JSON yang mendeskripsikan properti ini.
schemas.(key).additionalProperties nested object Jika ini adalah skema untuk objek, properti ini adalah skema untuk properti tambahan apa pun dengan kunci dinamis pada objek ini.
schemas.(key).items nested object Jika ini adalah skema untuk array, properti ini adalah skema untuk setiap elemen dalam array.
schemas.(key).annotations object Informasi tambahan tentang properti ini.
schemas.(key).annotations.required[] list Daftar metode yang memerlukan properti ini pada permintaan.
methods object Metode API level untuk API ini.
methods.(key) nested object Deskripsi metode individual.
methods.(key).id string ID unik untuk metode ini. Properti ini dapat digunakan untuk mencocokkan metode di antara berbagai versi Discovery.
methods.(key).description string Deskripsi metode ini.
methods.(key).parameters object Detail untuk semua parameter dalam metode ini.
methods.(key).parameters.(key) nested object Detail untuk satu parameter dalam metode ini.
methods.(key).parameters.(key).id string ID unik untuk skema ini.
methods.(key).parameters.(key).type string Jenis nilai untuk skema ini. Daftar nilai dapat ditemukan pada bagian "type" di Skema JSON.
methods.(key).parameters.(key).$ref string Referensi ke skema lain. Nilai properti ini adalah ID skema lain.
methods.(key).parameters.(key).description string Deskripsi objek ini.
methods.(key).parameters.(key).default string Nilai default properti ini (jika ada).
methods.(key).parameters.(key).required boolean Apakah parameter diperlukan.
methods.(key).parameters.(key).format string Ekspresi atau kunci reguler tambahan yang membantu membatasi nilai.Untuk mengetahui detail selengkapnya, lihat Ringkasan Jenis dan Format.
methods.(key).parameters.(key).pattern string Ekspresi reguler yang harus sesuai dengan parameter ini.
methods.(key).parameters.(key).minimum string Nilai minimum parameter ini.
methods.(key).parameters.(key).maximum string Nilai maksimum parameter ini.
methods.(key).parameters.(key).enum[] list Nilai yang mungkin digunakan parameter ini (jika berupa enum).
methods.(key).parameters.(key).enumDescriptions[] list Deskripsi untuk enum. Setiap posisi dipetakan ke nilai yang sesuai dalam array enum.
methods.(key).parameters.(key).repeated boolean Apakah parameter ini dapat muncul beberapa kali.
methods.(key).parameters.(key).location string Apakah parameter ini digunakan dalam kueri atau jalur untuk permintaan REST.
methods.(key).parameters.(key).properties object Jika ini adalah skema untuk suatu objek, cantumkan skema untuk setiap properti objek ini.
methods.(key).parameters.(key).properties.(key) nested object Satu properti dari objek ini. Nilainya sendiri adalah objek Skema JSON yang mendeskripsikan properti ini.
methods.(key).parameters.(key).additionalProperties nested object Jika ini adalah skema untuk objek, properti ini adalah skema untuk properti tambahan apa pun dengan kunci dinamis pada objek ini.
methods.(key).parameters.(key).items nested object Jika ini adalah skema untuk array, properti ini adalah skema untuk setiap elemen dalam array.
methods.(key).parameters.(key).annotations object Informasi tambahan tentang properti ini.
methods.(key).parameters.(key).annotations.required[] list Daftar metode yang memerlukan properti ini pada permintaan.
methods.(key).parameterOrder[] list Daftar urutan parameter yang diperlukan. Langkah ini merupakan petunjuk bagi klien tentang cara membuat struktur tanda tangan metode. Array diurutkan sedemikian rupa sehingga parameter paling signifikan muncul terlebih dahulu.
methods.(key).scopes[] list Cakupan OAuth 2.0 yang berlaku untuk metode ini.
methods.(key).supportsMediaDownload boolean Apakah metode ini mendukung download media atau tidak.
methods.(key).supportsMediaUpload boolean Apakah metode ini mendukung upload media atau tidak.
methods.(key).mediaUpload object Parameter upload media.
methods.(key).mediaUpload.accept[] list Rentang Media MIME untuk upload media yang dapat diterima ke metode ini.
methods.(key).mediaUpload.maxSize string Ukuran maksimum upload media, seperti "1 MB", "2GB" atau "3TB".
methods.(key).supportsSubscription boolean Apakah metode ini mendukung langganan atau tidak.
baseUrl string [TIDAK DIGUNAKAN LAGI] URL dasar untuk permintaan REST.
basePath string [TIDAK DIGUNAKAN LAGI] Jalur dasar untuk permintaan REST.
servicePath string Jalur dasar untuk semua permintaan REST.
batchPath string Jalur untuk permintaan batch REST.
methods.(key).path string Jalur URI metode REST ini. Harus digunakan bersama dengan properti servicePath di API level.
methods.(key).httpMethod string Metode HTTP yang digunakan oleh metode ini.
methods.(key).request object Skema untuk permintaan.
methods.(key).request.$ref string ID skema untuk skema permintaan.
methods.(key).request.parameterName string [TIDAK DIGUNAKAN LAGI] Beberapa API memiliki kolom ini untuk alasan kompatibilitas mundur. Dapat diabaikan dengan aman.
methods.(key).response object Skema untuk respons.
methods.(key).response.$ref string ID skema untuk skema respons.
methods.(key).mediaUpload.protocols object Protokol upload yang didukung.
methods.(key).mediaUpload.protocols.simple object Mendukung upload sebagai satu permintaan HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean True jika endpoint ini mendukung media multibagian yang diupload.
methods.(key).mediaUpload.protocols.simple.path string Jalur URI yang akan digunakan untuk mengupload. Harus digunakan bersama dengan properti rootURL di API level.
methods.(key).mediaUpload.protocols.resumable object Mendukung protokol Upload Media yang Dapat Dilanjutkan.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true jika endpoint ini mendukung upload media multibagian.
methods.(key).mediaUpload.protocols.resumable.path string Jalur URI yang akan digunakan untuk mengupload. Harus digunakan bersama dengan properti rootURL di API level.
resources object Resource dalam API ini.
resources.(key) nested object Deskripsi masing-masing resource. Berisi metode dan sub-resource yang terkait dengan resource ini.
resources.(key).methods object Metode pada resource ini.
resources.(key).methods.(key) nested object Deskripsi untuk setiap metode pada resource ini.
resources.(key).methods.(key).id string ID unik untuk metode ini. Properti ini dapat digunakan untuk mencocokkan metode di antara berbagai versi Discovery.
resources.(key).methods.(key).path string Jalur URI metode REST ini. Harus digunakan bersama dengan properti servicePath di API level.
resources.(key).methods.(key).flatPath string Jalur URI metode REST ini dalam format (RFC 6570) tanpa fitur level 2 ({+var}). Tambahan untuk properti path.
resources.(key).methods.(key).httpMethod string Metode HTTP yang digunakan oleh metode ini.
resources.(key).methods.(key).description string Deskripsi metode ini.
resources.(key).methods.(key).parameters object Detail untuk semua parameter dalam metode ini.
resources.(key).methods.(key).parameters.(key) nested object Detail untuk satu parameter dalam metode ini.
resources.(key).methods.(key).parameters.(key).id string ID unik untuk skema ini.
resources.(key).methods.(key).parameters.(key).type string Jenis nilai untuk skema ini. Daftar nilai dapat ditemukan pada bagian "type" di Skema JSON.
resources.(key).methods.(key).parameters.(key).$ref string Referensi ke skema lain. Nilai properti ini adalah "ID" skema lain.
resources.(key).methods.(key).parameters.(key).description string Deskripsi objek ini.
resources.(key).methods.(key).parameters.(key).default string Nilai default properti ini (jika ada).
resources.(key).methods.(key).parameters.(key).required boolean Apakah parameter diperlukan.
resources.(key).methods.(key).parameters.(key).format string Ekspresi atau kunci reguler tambahan yang membantu membatasi nilai.Untuk mengetahui detail selengkapnya, lihat Ringkasan Jenis dan Format.
resources.(key).methods.(key).parameters.(key).pattern string Ekspresi reguler yang harus sesuai dengan parameter ini.
resources.(key).methods.(key).parameters.(key).minimum string Nilai minimum parameter ini.
resources.(key).methods.(key).parameters.(key).maximum string Nilai maksimum parameter ini.
resources.(key).methods.(key).parameters.(key).enum[] list Nilai yang mungkin digunakan parameter ini (jika berupa enum).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list Deskripsi untuk enum. Setiap posisi dipetakan ke nilai yang sesuai dalam array enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Apakah parameter ini dapat muncul beberapa kali.
resources.(key).methods.(key).parameters.(key).location string Apakah parameter ini digunakan dalam kueri atau jalur untuk permintaan REST.
resources.(key).methods.(key).parameters.(key).properties object Jika ini adalah skema untuk suatu objek, cantumkan skema untuk setiap properti objek ini.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Satu properti dari objek ini. Nilainya sendiri adalah objek Skema JSON yang mendeskripsikan properti ini.
resources.(key).methods.(key).parameters.(key).additionalProperties nested object Jika ini adalah skema untuk objek, properti ini adalah skema untuk properti tambahan apa pun dengan kunci dinamis pada objek ini.
resources.(key).methods.(key).parameters.(key).items nested object Jika ini adalah skema untuk array, properti ini adalah skema untuk setiap elemen dalam array.
resources.(key).methods.(key).parameters.(key).annotations object Informasi tambahan tentang properti ini.
resources.(key).methods.(key).parameters.(key).annotations.required[] list Daftar metode yang memerlukan properti ini pada permintaan.
resources.(key).methods.(key).parameterOrder[] list Daftar urutan parameter yang diperlukan. Langkah ini merupakan petunjuk bagi klien tentang cara membuat struktur tanda tangan metode. Array diurutkan sedemikian rupa sehingga parameter paling signifikan muncul terlebih dahulu.
resources.(key).methods.(key).request object Skema untuk permintaan.
resources.(key).methods.(key).request.$ref string ID skema untuk skema permintaan.
resources.(key).methods.(key).response object Skema untuk respons.
resources.(key).methods.(key).response.$ref string ID skema untuk skema respons.
resources.(key).methods.(key).scopes[] list Cakupan OAuth 2.0 yang berlaku untuk metode ini.
resources.(key).methods.(key).supportsMediaDownload boolean Apakah metode ini mendukung download media atau tidak.
resources.(key).methods.(key).supportsMediaUpload boolean Apakah metode ini mendukung upload media atau tidak.
resources.(key).methods.(key).mediaUpload object Parameter upload media.
resources.(key).methods.(key).mediaUpload.accept[] list Rentang Media MIME untuk upload media yang dapat diterima ke metode ini.
resources.(key).methods.(key).mediaUpload.maxSize string Ukuran maksimum upload media, seperti "1 MB", "2GB" atau "3TB".
resources.(key).methods.(key).mediaUpload.protocols object Protokol upload yang didukung.
resources.(key).methods.(key).mediaUpload.protocols.simple object Mendukung upload sebagai satu permintaan HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true jika endpoint ini mendukung media multibagian upload.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string Jalur URI yang akan digunakan untuk mengupload. Harus digunakan bersama dengan properti rootURL di API level.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Mendukung protokol Upload Media yang Dapat Dilanjutkan.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true jika endpoint ini mendukung upload media multibagian.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string Jalur URI yang akan digunakan untuk mengupload. Harus digunakan bersama dengan properti rootURL di API level.
resources.(key).methods.(key).supportsSubscription boolean Apakah metode ini mendukung langganan atau tidak.
resources.(key).resources object Sub-resource di resource ini.
resources.(key).resources.(key) nested object Deskripsi untuk semua sub-resource di resource ini.