Առաջին քայլեր
Ինչ կարող է տեսնել յուրաքանչյուր օգտատեր
Բանալին տեսնում է ճիշտ այն, ինչ տեսնում է դրա օգտատերը կառավարման վահանակում։ API-ում ոչինչ կարգավորել պետք չէ. կանոնները գալիս են օգտատիրոջ կազմակերպություններից և թույլտվություններից։
Միայն օգտատիրոջ կազմակերպությունները
API-ն հաշվի է առնում միայն օգտատիրոջ հետ կապված կազմակերպությունները՝ նույնը, որոնք նա կարող է ընտրել կառավարման վահանակում։
Ադմինիստրատորը տեսնում է կազմակերպության ամեն ինչ
Կազմակերպության կամ հիմնական կազմակերպության ադմինիստրատորը տեսնում է դրա բոլոր հեռուստացույցները, ֆայլերը և փլեյլիստները։
Մյուսների համար որոշում են թույլտվությունները
Մյուս օգտատերերի համար գործում են յուրաքանչյուր կազմակերպությունում հեռուստացույցներ, ֆայլեր և փլեյլիստներ դիտելու թույլտվությունները՝ նույնը, որոնք բացում են այդ էջերը կառավարման վահանակում։
Փոփոխություններն ուժի մեջ են մտնում անմիջապես
Եթե կառավարման վահանակում հանվի թույլտվություն, հեռացվի կազմակերպություն կամ ապաակտիվացվի օգտատեր, դա կգործի արդեն հաջորդ հարցման ժամանակ։
Ինչ չի ներառվում
- Առանց թույլտվության կազմակերպությունների տարրերը ցանկերում չեն երևում։ Դրանցից որևէ մեկն ուղղակիորեն պահանջելու դեպքում ստացվում է
404, կարծես այն գոյություն չունի։ - Փլեյլիստում այն ֆայլը, որը օգտատերը չի կարող տեսնել, գալիս է
fileդաշտով, որի արժեքըnullէ։ Փլեյլիստի հեռուստացույցները և ֆայլի փլեյլիստները ցույց են տալիս միայն այն, ինչ օգտատերը կարող է տեսնել։ - Ջնջված տարրերը և դեռ չակտիվացված հեռուստացույցները չեն երևում։
Իմանալու համար, թե ինչ կարող է կարդալ բանալին, կանչեք /organizations. յուրաքանչյուր կազմակերպություն գալիս է admin և permissions դաշտերով։
Եթե ձեր համակարգին անհրաժեշտ է տվյալների միայն մի մասը, կառավարման վահանակում ստեղծեք առանձին օգտատեր հենց դրա համար՝ միայն անհրաժեշտ թույլտվություններով, և ստեղծեք բանալին այդ օգտատիրոջ հաշվում։
curl "https://api.on-cloud.live/v1/organizations" \
-H "X-API-Key: $API_KEY"<?php
$ch = curl_init('https://api.on-cloud.live/v1/organizations');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')],
]);
$response = json_decode(curl_exec($ch), true);const res = await fetch('https://api.on-cloud.live/v1/organizations', {
headers: { 'X-API-Key': process.env.API_KEY }
});
const { data } = await res.json();{
"data": [
{
"uid": "8f14e45fceea167a5a36dedd4bea2543",
"name": "Loja Centro",
"neutral_zone": false,
"admin": true,
"permissions": {
"tvs": true,
"files": true,
"playlists": true
}
},
{
"uid": "1679091c5a880faf6fb5e6087eb1b2dc",
"name": "Loja Shopping Norte",
"neutral_zone": false,
"admin": true,
"permissions": {
"tvs": true,
"files": true,
"playlists": true
}
}
]
}{
"error": {
"code": "not_found",
"message": "Item not found or you do not have access to it."
}
}