Contoh Kode untuk Aplikasi Pengelolaan Chrome / API Detail Ekstensi

Buka Chrome Management App Details API untuk mengetahui ringkasan fitur API.

Semua permintaan yang ditampilkan di bawah ini menggunakan variabel berikut:

  • $TOKEN - Token OAuth 2
  • $CUSTOMER - ID pelanggan atau my_customer literal

Mendapatkan detail untuk aplikasi / ekstensi Chrome

Untuk melihat detail tentang aplikasi Chrome tertentu, gunakan endpoint /apps/chrome/{app_id}@{app_version}.

Permintaan

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/apps/chrome/abcdefghijklmnopqrstuvwxyzabcdef@1.2.3"

Respons

{
    "name": "customers/<customer>/apps/chrome/abcdefghijklmnopqrstuvwxyzabcdef@1.2.3",
    "displayName": "Sample Google Chrome Extension",
    "description": "A sample Google Chrome extension.",
    "revisionId": "1.2.3",
    "type": "CHROME",
    "iconUri": "https://sample.chrome.extension.google.com/icon.png",
    "detailUri": "https://chrome.google.com/webstore/detail/abcdefghijklmnopqrstuvwxyzabcdef",
    "firstPublishTime": "2010-10-10T10:10:10.123456Z",
    "latestPublishTime": "2020-10-10T10:10:10.123456Z",
    "publisher": "sample.com",
    "homepageUri": "http://sample.chrome.extension.google.com/home",
    "reviewNumber": "10000",
    "reviewRating": 4.5,
    "chromeAppInfo": {
        "supportEnabled": false,
        "minUserCount": 6000000,
        "permissions": [
            {
                "type": "content_security_policy",
                "documentationUri": "https://developer.chrome.com/extensions/contentSecurityPolicy",
                "accessUserData": false
            },
            {
                "type": "contextmenus",
                "documentationUri": "https://developer.chrome.com/extensions/contextMenus",
                "accessUserData": false
            },
        ],
        "siteAccess": [
            {
                "hostMatch": "<all_urls>"
            }
        ],
        "isTheme": false,
        "googleOwned": true,
        "isCwsHosted": true
    }
}

Mendapatkan detail untuk aplikasi Android

Untuk melihat detail tentang aplikasi Android tertentu, gunakan endpoint /apps/android/{app_id}@{app_version}.

Permintaan

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/apps/android/com.google.android.sample@1.2.3"

Respons

{
    "name": "customers/<customer>/apps/android/com.google.android.sample@1.2.3",
    "displayName": "Sample Android App",
    "description": "A sample Android app.",
    "appId": "com.google.android.sample",
    "revisionId": "1.2.3",
    "type": "ANDROID",
    "iconUri": "https://sample.android.app.google.com/icon.png",
    "detailUri": "https://play.google.com/store/apps/details?id=com.google.android.sample",
    "firstPublishTime": "2010-10-10T10:10:10.123456Z",
    "latestPublishTime": "2020-10-10T10:10:10.123456Z",
    "publisher": "Google LLC",
    "isPaidApp": true,
    "homepageUri": "http://sample.android.app.google.com/home",
    "privacyPolicyUri": "http://sample.android.app.google.com/privacy",
    "reviewNumber": "10000",
    "reviewRating": 4.5,
    "androidAppInfo": {
        "permissions": [
            {
                "type": "android.permission.CAMERA"
            },
        ]
    }
}

Mendapatkan detail untuk Progressive Web App

Untuk melihat detail tentang Aplikasi Web Pragoresif tertentu, gunakan endpoint /apps/web/{app_id}. Perhatikan bahwa ID aplikasi adalah halaman beranda aplikasi yang dienkode ke URL.

Permintaan

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/apps/web/http%3A%2F%2Fsample.web.app.google.com%2F"

Respons

{
    "name": "customers/<customer>/apps/web/http%3A%2F%sample.web.app.google.com%2F",
    "displayName": "sample.web.app.google.com",
    "description": "A sample Progressive Web App.",
    "appId": "http://sample.web.app.google.com/",
    "type": "WEB",
    "iconUri": "http://sample.web.app.google.com/icon.png"
}

Mencantumkan ekstensi Chrome yang diminta

Untuk mencantumkan aplikasi Chrome yang diminta, gunakan endpoint /apps:countChromeAppRequests.

Permintaan

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/apps:countChromeAppRequests"

Respons

{
  "requestedApps": [
    {
      "appId": "abcdefghijklmnopqrstuvwxyzabcdef",
      "displayName": "Sample Google Chrome Extension",
      "appDetails": "customers/<customer>/apps/chrome/abcdefghijklmnopqrstuvwxyzabcdef",
      "iconUri": "https://sample.chrome.extension.google.com/icon.png",
      "detailUri": "https://chrome.google.com/webstore/detail/abcdefghijklmnopqrstuvwxyzabcdef",
      "requestCount": "1",
      "latestRequestTime": "2020-10-10T10:10:10.123456Z"
    },
  ],
  "totalSize": 1
}

Mengambil tindakan terhadap permintaan ekstensi

Untuk mengambil tindakan yang sesuai terhadap permintaan aplikasi dari pengguna akhir, Anda harus menggunakan Chrome Policy API. Ikuti panduan penyiapan untuk mendapatkan akses ke API. Kemudian, Anda akan dapat membuat permintaan ke API tersebut untuk melakukan berbagai tindakan. Contoh pembuatan permintaan terkait aplikasi dapat ditemukan di sini. Berikut adalah contoh tindakan umum yang dapat Anda lakukan atas permintaan aplikasi.

Menyetujui permintaan ekstensi untuk penginstalan manual oleh pengguna/perangkat di OU

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"app_id": "chrome:abcdefghijklmnopqrstuvwxyzabcdef"}
                        },
                policyValue: {
                        policySchema: "chrome.users.apps.InstallType",
                        value: {appInstallType: "ALLOWED"}
                        },
                updateMask: {paths: "appInstallType"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Respons yang berhasil harus kosong:

{}

Menolak permintaan ekstensi untuk semua pengguna/perangkat di OU

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"app_id": "chrome:abcdefghijklmnopqrstuvwxyzabcdef"}
                        },
                policyValue: {
                        policySchema: "chrome.users.apps.InstallType",
                        value: {appInstallType: "BLOCKED"}
                        },
                updateMask: {paths: "appInstallType"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Respons yang berhasil harus kosong:

{}

Menginstal otomatis ekstensi untuk semua pengguna/perangkat dalam OU

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"app_id": "chrome:abcdefghijklmnopqrstuvwxyzabcdef"}
                        },
                policyValue: {
                        policySchema: "chrome.users.apps.InstallType",
                        value: {appInstallType: "FORCED"}
                        },
                updateMask: {paths: "appInstallType"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Respons yang berhasil harus kosong:

{}