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

با ارائه نمونه درخواست‌ها و پاسخ‌هایی از 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": ""
}

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

یک کاربر، user1@domain1.com، برنامه را به صورت جداگانه از 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}

بدن پاسخگو

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

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

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

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

درخواست userLicense.get

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

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

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

بدن پاسخگو

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

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

درخواست 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 user2@domain1.com نصب شده است. دیگر برای همه افراد سازمان نصب نشده است.

درخواست userLicense.get

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

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

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

بدن پاسخگو

از آنجایی که برنامه فقط برای user2@domain1.com توسط ادمین نصب شده است، پاسخ مجوز کاربر را برای user3@domain1.com برمی‌گرداند که در صورت 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": "user3@domain1.com"
}

درخواست userLicense.get

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

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

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

بدن پاسخگو

از آنجایی که برنامه فقط برای user2@domain1.com توسط ادمین نصب شده است، پاسخ مجوز کاربر را برای user2@domain1.com برمی‌گرداند که در آن 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": "user2@domain1.com"
}

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

برنامه برای همه افراد سازمان حذف شد. کاربر، user1@domain1.com، همچنان به برنامه دسترسی دارد زیرا قبلاً به صورت جداگانه برنامه را نصب کرده است.

درخواست userLicense.get

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

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

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

بدن پاسخگو

از آنجایی که برنامه برای همه افراد در سازمان حذف شده است، پاسخ مجوز کاربر را برای user2@domain1.com برمی‌گرداند که در آن enabled false است و state UNLICENSED است، که نشان می‌دهد مدیر دامنه این کاربر جایگاهی را برای برنامه به این اختصاص نداده است. کاربر.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "UNLICENSED",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user2@domain1.com"
}

درخواست userLicense.get

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

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

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

بدن پاسخگو

از آنجایی که user1@domain1.com قبلاً به صورت جداگانه برنامه را نصب کرده بود، آنها هنوز هم اجازه استفاده از آن را دارند. پاسخ مجوز کاربر را برمی‌گرداند که در آن enabled true است و state ACTIVE است.

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

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

درخواست 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": "user1@domain1.com",
      "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}"
}