የሂሳብ ፕሮፊል እና API ቶኬን መረጃን ማግኘት. ለየትኛው ሂሳብ እና መብቶች API ቶኬን ጋር የተያያዙ እንደሆኑ ለመለየት ጠቃሚ ነው
የሂሳብ ፕሮፊል ሜታ-ዳታ እና የቶኬን ስፋት/የፈቃዶች ለ API ቶኬን በጥሪው ውስጥ የተጠቀመውን ይመልሳል. ይህ ብዙ API ቶኬኖችን ሲያስተዳድሩ እና ቶኬን የሚገባውን ሂሳብ እና ምን ዓይነት ፈቃዶች እንዳሉት ሲያረጋግጡ ጠቃሚ ነው
የተረጋገጠ የAPI ቶኬን ያስፈልጋል. ማንኛውም አክቲቭ ቶኬን ይህ መጨረሻ ነጥብ ያለምንም ቅድመ ሁኔታ ሊደርስ ይችላል
curl -X GET "https://admin.vps.org/api/v1/account/me/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
import requests
url = "https://admin.vps.org/api/v1/account/me/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
data = response.json()
print(f"Account: {data['account']['email']}")
print(f"Token: {data['token']['name']}")
print(f"Permissions: {data['token']['permissions']}")
const response = await fetch('https://admin.vps.org/api/v1/account/me/', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(`Account: ${data.account.email}`);
console.log(`Token: ${data.token.name}`);
console.log(`Permissions:`, data.token.permissions);
$ch = curl_init('https://admin.vps.org/api/v1/account/me/');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_TOKEN',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
echo "Account: " . $data['account']['email'] . "\n";
echo "Token: " . $data['token']['name'] . "\n";
echo "Permissions: " . implode(', ', $data['token']['permissions']) . "\n";
{
"account": {
"email": "john@example.com",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Inc.",
"created_at": "2024-06-15"
},
"token": {
"name": "Production Deploy Key",
"permissions": [
"servers:list",
"servers:create",
"servers:power",
"dns:*"
],
"created_at": "2025-01-10T14:30:00Z",
"last_used_at": "2025-02-11T08:45:12Z",
"expires_at": null,
"is_expired": false
}
}
account object| ፋይል | አይነት | መግለጫ የለም |
|---|---|---|
email |
string | Account email address |
first_name |
string | null | Account holder's first name |
last_name |
string | null | Account holder's last name |
company_name |
string | null | Company name (if set) |
created_at |
date | Account creation date (YYYY-MM-DD) |
token object| ፋይል | አይነት | መግለጫ የለም |
|---|---|---|
name |
string | Name assigned to this API token |
permissions |
array | List of permission strings (e.g. servers:list, dns:*). See Authentication docs for permission format. |
created_at |
datetime | When the token was created (ISO 8601) |
last_used_at |
datetime | null | Last time the token was used for authentication |
expires_at |
datetime | null | Token expiration date (null if no expiration) |
is_expired |
boolean | Whether the token has expired |
| 200 | Successfully retrieved account and token information |
| 401 | Unauthorized - Invalid, expired, or missing API token |
በተለያዩ ፕሮግራሞች ውስጥ ብዙ API ቶኬኖችን በሚመሩበት ጊዜ፣ ቶኬን ለየትኛው ሒሳብ እንደሚገባ ለማረጋገጥ ይህንን መጨረሻ ነጥብ ይጠቀሙ:
# Check which account this token is associated with
response = requests.get(
"https://admin.vps.org/api/v1/account/me/",
headers={"Authorization": f"Bearer {api_token}"}
)
account = response.json()["account"]
print(f"This token belongs to: {account['email']}")
ከAPI ጥሪዎች በፊት፣ የቅርብ ጊዜው ቶኬን ምን ዓይነት ፈቃዶች እንዳሉት ይመልከቱ:
# Check token permissions before performing an action
response = requests.get(
"https://admin.vps.org/api/v1/account/me/",
headers={"Authorization": f"Bearer {api_token}"}
)
permissions = response.json()["token"]["permissions"]
if "servers:create" in permissions or "servers:*" in permissions:
# Token has permission to create servers
create_server()
else:
print("Token does not have servers:create permission")
ቶኬንዎ ወደ መጨረሻው ሊያበቃ እንደሚችል ይመልከቱ:
from datetime import datetime
response = requests.get(
"https://admin.vps.org/api/v1/account/me/",
headers={"Authorization": f"Bearer {api_token}"}
)
token_info = response.json()["token"]
if token_info["expires_at"]:
expires = datetime.fromisoformat(token_info["expires_at"])
days_left = (expires - datetime.now()).days
if days_left < 7:
print(f"Warning: Token expires in {days_left} days")
else:
print("Token has no expiration date")
የፍቃድ መረጃ resource:action. ጥቅም resource:* ለሙሉ መሳሪያ መዳረሻ, ወይም *:* ለሙሉ API መዳረሻ
| ፋይል | የተገኙ ተግባራት |
|---|---|
servers |
list, create, update, delete, power, backup, snapshot, resize, * |
domains |
list, search, update, renew, * |
dns |
list, create, update, delete, * |
snapshots |
list, delete, * |
backups |
list, * |
ssh-keys |
list, create, delete, * |
plans |
list, * |
locations |
list, * |
deployments |
list, create, delete, * |
billing |
list, * |