ดึงข้อมูลโพรไฟล์บัญชีผู้ใช้และ 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 หลายตัวบนแอพพลิเคชันต่าง ๆ ใช้จุดสิ้นสุดนี้ เพื่อตรวจสอบว่าบัญชีผู้ใช้ใดเป็นเจ้าของ Token:
# 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, * |