نمونه‌های کد برای Chrome Management App / Extension Details API

برای دریافت نمای کلی از ویژگی‌های میانای برنامه‌سازی کاربردی، به Chrome Management App Details API مراجعه کنید.

همه درخواست‌های نشان‌داده‌شده در زیر از متغیرهای زیر استفاده می‌کنند:

  • $TOKEN - کد OAuth 2
  • $CUSTOMER - شناسه مشتری یا my_customer تحت‌اللفظی

دریافت جزئیات برنامه / افزونه Chrome

برای مشاهده جزئیات درباره برنامه Chrome خاص، از نقطه پایانی /apps/chrome/{app_id}@{app_version} استفاده کنید.

درخواست

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

پاسخ

{
    "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,
        "riskAssessment": {
            "entries": [
                {
                    "provider": "RISK_ASSESSMENT_PROVIDER_LAYERX",
                    "riskAssessment": {
                        "assessment": "2.5",
                        "detailsUrl": "https://sample.riskprovider.com/extensions/chrome/abcdefghijklmnopqrstuvwxyzabcdef/1.2.3/",
                        "version": "1.2.3"
                    },
                    "riskLevel": "RISK_LEVEL_LOW"
                }
            ],
            "overallRiskLevel": "RISK_LEVEL_LOW"
        }
    }
}

دریافت جزئیات برنامه Android

برای مشاهده جزئیات مربوط به برنامه Android خاص، از نقطه پایانی /apps/android/{app_id}@{app_version} استفاده کنید.

درخواست

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

پاسخ

{
    "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"
            },
        ]
    }
}

دریافت جزئیات «برنامه وب پیش‌رو»

برای مشاهده جزئیات درباره «برنامه وب پیش‌رونده» خاص، از نقطه پایان /apps/web/{app_id} استفاده کنید. توجه داشته باشید که شناسه برنامه همان صفحه اصلی برنامه با کدگذاری URL است.

درخواست

  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"

پاسخ

{
    "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"
}

فهرست کردن افزونه‌های Chrome درخواست‌شده

برای فهرست کردن برنامه‌های Chrome درخواست‌شده، از نقطه پایانی /apps:countChromeAppRequests استفاده کنید.

درخواست

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

پاسخ

{
  "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
}

اقدام کردن درباره درخواست‌های تمدید

برای انجام اقدام مناسب درخصوص درخواست‌های برنامه از کاربران نهایی، باید از Chrome Policy API استفاده کنید. برای دسترسی به میانای برنامه‌سازی کاربردی، راهنمای راه‌اندازی را دنبال کنید. سپس می‌توانید برای انجام کنش‌های مختلف به آن API درخواست ارسال کنید. نمونه‌های مربوط به درخواست‌های مرتبط با برنامه را می‌توانید در اینجا پیدا کنید. در زیر نمونه‌هایی از اقدامات رایجی که می‌توانید برای درخواست برنامه انجام دهید آورده شده است.

تأیید درخواست افزونه برای نصب دستی توسط کاربر/دستگاه‌های تحت واحد سازمانی

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"

پاسخ موفق باید خالی باشد:

{}

رد کردن درخواست افزونه برای همه کاربران/ دستگاه‌های تحت واحد سازمانی

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"

پاسخ موفق باید خالی باشد:

{}

نصب اجباری افزونه برای همه کاربران/ دستگاه‌های تحت واحد سازمانی

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"

پاسخ موفق باید خالی باشد:

{}