جزئیات نصب و مجوز برنامه را دریافت کنید

با ارائه نمونه درخواست‌ها و پاسخ‌هایی از Google Workspace Marketplace API ، این راهنما نحوه دریافت جزئیات مجوز و نصب برنامه Google Workspace Marketplace را نشان می‌دهد.

برنامه هنوز نصب نشده است

درخواست LicenseNotification.list

این درخواست متد licenseNotification.list را برای بازیابی لیستی از اعلان‌های مجوز برای یک برنامه خاص فراخوانی می‌کند.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

بدن پاسخگو

از آنجایی که برنامه هنوز نصب نشده است، پاسخ به این درخواست شامل هیچ گونه اعلان مجوز نمی شود.

{
  "kind": "appsmarket#licenseNotificationList",
  "nextPageToken": ""
}

برنامه به صورت جداگانه نصب می شود

یک کاربر، [email protected]، برنامه را به صورت جداگانه از Google Workspace Marketplace نصب کرد.

درخواست LicenseNotification.list

این درخواست متد licenseNotification.list را فراخوانی می کند و لیست اعلان های مجوز را برای برنامه ای که توسط کاربر نصب شده است بازیابی می کند.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

بدن پاسخگو

از آنجایی که [email protected] برنامه را نصب کرد، پاسخ شامل یک اعلان مجوز است. اعلان مجوز شامل یک اعلان تدارکات است زیرا هنگام نصب برنامه، مجوز جدیدی برای [email protected] ارائه شد.

{
  "kind": "appsmarket#licenseNotificationList",
  "notifications": [
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "[email protected]",
      "timestamp": "1641318266998",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "1"
        }
      ]
    }
  ],
  "nextPageToken": "{NEXT_PAGE_TOKEN}"
}

برنامه ادمین نصب شده است

مدیر domain1.com اپلیکیشن را برای همه افراد سازمان نصب کرد.

درخواست userLicense.get

این درخواست روش userLicense.get را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]

بدن پاسخگو

از آنجایی که domain1.com برنامه را توسط سرپرست نصب کرده است، پاسخ مجوز کاربر برای [email protected] را در جایی که enabled true است، برمی‌گرداند، که نشان می‌دهد مدیر دامنه domain1.com برنامه را برای این دامنه فعال کرده است، و state ACTIVE است، که نشان می‌دهد [email protected] دارای مجوز معتبر است و باید اجازه استفاده از برنامه را داشته باشد.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "[email protected]",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "[email protected]"
}

درخواست customerLicense.get

این درخواست متد customerLicense.get را فراخوانی می کند تا وضعیت مجوز domain1.com را دریافت کند تا مشخص شود آیا آنها به برنامه دسترسی دارند یا خیر.

GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com

بدن پاسخگو

پاسخ مجوز مشتری را برای domain1.com برمی‌گرداند که در آن state ACTIVE است، که نشان می‌دهد مشتری دارای مجوز معتبر است.

{
  "kind": "appsmarket#customerLicense",
  "id": "{CUSTOMER_LICENSE_ID}",
  "applicationId": "{APPLICATION_ID}",
  "customerId": "domain1.com",
  "state": "ACTIVE",
  "editions": [
    {
      "editionId": "default_edition",
      "seatCount": -1
    }
  ]
}

این برنامه فقط برای واحد سازمانی یک کاربر خاص (OU) نصب شده است.

این برنامه اکنون فقط برای OU [email protected] نصب شده است. دیگر برای همه افراد سازمان نصب نشده است.

درخواست userLicense.get

این درخواست روش userLicense.get را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]

بدن پاسخگو

از آنجایی که برنامه فقط برای [email protected] توسط ادمین نصب شده است، پاسخ یک مجوز کاربری برای [email protected] برمی‌گرداند که در enabled false است، نشان می‌دهد که سرپرست دامنه برای domain1.com برنامه را برای این دامنه فعال نکرده است، و state ACTIVE است، که نشان می‌دهد کاربر مجوز معتبری دارد و باید اجازه استفاده از برنامه را داشته باشد.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "[email protected]"
}

درخواست userLicense.get

این درخواست روش userLicense.get را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]

بدن پاسخگو

از آنجایی که برنامه فقط برای [email protected] توسط ادمین نصب شده است، پاسخ مجوز کاربر را برای [email protected] برمی‌گرداند که در آن enabled true و state ACTIVE باشد.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "[email protected]"
}

برنامه برای همه افراد سازمان حذف می شود

برنامه برای همه افراد سازمان حذف شد. کاربر، [email protected]، همچنان به برنامه دسترسی دارد زیرا قبلاً به صورت جداگانه برنامه را نصب کرده است.

درخواست userLicense.get

این درخواست روش userLicense.get را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]

بدن پاسخگو

از آنجایی که برنامه برای همه افراد در سازمان حذف شده است، پاسخ مجوز کاربر را برای [email protected] برمی‌گرداند که در آن enabled false است و state UNLICENSED است، که نشان می‌دهد مدیر دامنه این کاربر جایگاهی را برای برنامه به این کاربر اختصاص نداده است.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "UNLICENSED",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "[email protected]"
}

درخواست userLicense.get

این درخواست روش userLicense.get را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]

بدن پاسخگو

از آنجایی که [email protected] قبلاً به صورت جداگانه برنامه را نصب کرده بود، آنها هنوز هم اجازه استفاده از آن را دارند. پاسخ مجوز کاربر را برمی‌گرداند که در آن enabled true است و state ACTIVE است.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "[email protected]",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "[email protected]"
}

اعلان های مجوز از همه اقدامات فوق

درخواست LicenseNotification.list

درخواست به روش licenseNotification.list همه اعلان‌های مجوز را برای برنامه بازیابی می‌کند.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

بدن پاسخگو

پاسخ لیستی از اعلان‌های مجوز را برای همه اقدامات انجام شده در بالا برمی‌گرداند.

{
  "kind": "appsmarket#licenseNotificationList",
  "notifications": [
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "[email protected]",
      "timestamp": "1641318266998",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "1"
        }
      ]
    },
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "domain1.com",
      "timestamp": "1641318351038",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "-1"
        }
      ]
    },
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "domain1.com",
      "timestamp": "1641318858349",
      "deletes": [
        {
          "kind": "appsmarket#deleteNotification",
          "editionId": "default_edition",
        }
      ]
    },
  ],
  "nextPageToken": "{NEXT_PAGE_TOKEN}"
}