الحصول على تفاصيل تثبيت التطبيق والترخيص

من خلال تقديم أمثلة على الطلبات والردود من Google Workspace Marketplace API، توضّح هذه المستندات كيفية الحصول على تفاصيل حول تثبيت التطبيقات وترخيصها في Google Workspace Marketplace.

يثبِّت المشرف التطبيق

ثبَّت مشرف cymbalgroup.com التطبيق لجميع المستخدمين في المؤسسة.

طلب userLicense.get

يستدعي هذا الطلب طريقة userLicense.get للحصول على حالة الترخيص للمستخدم user1@cymbalgroup.com من أجل تحديد ما إذا كان لديه إذن باستخدام التطبيق.

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

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

نص الاستجابة

بما أنّ cymbalgroup.com قد ثبّت التطبيق، يعرض الردّ مورد userLicense الخاص بالمستخدم user1@cymbalgroup.com. تم ضبط الحقل enabled في المورد userLicense على true، ما يشير إلى أنّ مشرف النطاق في cymbalgroup.com قد فعّل التطبيق لهذا النطاق، وتم ضبط الحقل state على ACTIVE، ما يشير إلى أنّ user1@cymbalgroup.com لديه ترخيص صالح ويجب السماح له باستخدام التطبيق.

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

طلب customerLicense.get

يستدعي هذا الطلب الطريقة customerLicense.get للحصول على حالة الترخيص الخاصة بموقع cymbalgroup.com الإلكتروني لتحديد ما إذا كان بإمكانهم الوصول إلى التطبيق.

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

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

نص الاستجابة

يعرض الردّ مورد customerLicense الخاص بموقع cymbalgroup.com حيث تم ضبط الحقل state على ACTIVE، ما يشير إلى أنّ العميل لديه ترخيص صالح.

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

لا يمكن تثبيت التطبيق إلا من قِبل المشرف لوحدة تنظيمية خاصة بمستخدم معيّن

لا يمكن الآن تثبيت التطبيق إلا من قِبل المشرفين في الوحدة التنظيمية الخاصة بالمستخدم user2@cymbalgroup.com. لم يعُد التطبيق مثبّتًا من قِبل المشرف لجميع المستخدمين في المؤسسة.

طلب userLicense.get

يستدعي هذا الطلب طريقة userLicense.get للحصول على حالة الترخيص للمستخدم user3@cymbalgroup.com من أجل تحديد ما إذا كان لديه إذن باستخدام التطبيق.

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

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

نص الاستجابة

بما أنّ التطبيق مثبّت من قِبل المشرف فقط للمستخدم user2@cymbalgroup.com، يعرض الردّ مورد userLicense للمستخدم user3@cymbalgroup.com يتم فيه ضبط الحقل enabled على false، ما يشير إلى أنّ مشرف النطاق cymbalgroup.com لم يفعّل التطبيق لهذا النطاق، ويتم ضبط الحقل state على ACTIVE، ما يشير إلى أنّ المستخدم لديه ترخيص صالح ويجب السماح له باستخدام التطبيق.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "cymbalgroup.com",
  "applicationId": "APPLICATION_ID",
  "id": "USER_LICENSE_ID",
  "userId": "user3@cymbalgroup.com"
}

طلب userLicense.get

يستدعي هذا الطلب الطريقة userLicense.get للحصول على حالة الترخيص الخاصة بالمستخدم user2@cymbalgroup.com لتحديد ما إذا كان لديه إذن باستخدام التطبيق.

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

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

نص الاستجابة

بما أنّ التطبيق مثبَّت من قِبل المشرف فقط للمستخدم user2@cymbalgroup.com، سيعرض الردّ المورد userLicense للمستخدم user2@cymbalgroup.com الذي تم ضبط الحقل enabled فيه على true والحقل state على ACTIVE.

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

يتم حذف التطبيق لجميع المستخدمين في المؤسسة

على الرغم من حذف التطبيق لجميع المستخدمين في المؤسسة، لا يزال بإمكان user1@cymbalgroup.com الوصول إليه لأنّه سبق له تثبيته بشكل فردي.

طلب userLicense.get

يستدعي هذا الطلب الطريقة userLicense.get للحصول على حالة الترخيص الخاصة بالمستخدم user2@cymbalgroup.com لتحديد ما إذا كان لديه إذن باستخدام التطبيق.

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

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

نص الاستجابة

بما أنّه تم حذف التطبيق لجميع المستخدمين في المؤسسة، يعرض الردّ مورد userLicense للمستخدم user2@cymbalgroup.com، مع ضبط الحقل enabled على false والحقل state على UNLICENSED، ما يشير إلى أنّ مشرف نطاق هذا المستخدم لم يخصّص ترخيصًا للتطبيق لهذا المستخدم.

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

طلب userLicense.get

يستدعي هذا الطلب طريقة userLicense.get للحصول على حالة الترخيص للمستخدم user1@cymbalgroup.com من أجل تحديد ما إذا كان لديه إذن باستخدام التطبيق.

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

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

نص الاستجابة

بما أنّ user1@cymbalgroup.com سبق له تثبيت التطبيق بشكل فردي، سيظل لديه إذن باستخدامه. تعرض الاستجابة المورد userLicense الذي تم ضبط الحقل enabled فيه على true والحقل state على ACTIVE.

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