关联服务器自定义 ID
Links the custom server identifier, generated by the title, to the user’s PlayFab account.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| AccountNotFound | 1001 |
| InvalidNamespaceMismatch | 1561 |
| LinkedIdentifierAlreadyClaimed | 1184 |
POST
/
Server
/
LinkServerCustomId
Link Server Custom Id
curl --request POST \
--url https://{titleId}.playfabapi.com/Server/LinkServerCustomId \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"PlayFabId": "123412341234",
"ServerCustomId": "67AB-5397-CC54-EA31"
}
'import requests
url = "https://{titleId}.playfabapi.com/Server/LinkServerCustomId"
payload = {
"PlayFabId": "123412341234",
"ServerCustomId": "67AB-5397-CC54-EA31"
}
headers = {
"X-SecretKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-SecretKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({PlayFabId: '123412341234', ServerCustomId: '67AB-5397-CC54-EA31'})
};
fetch('https://{titleId}.playfabapi.com/Server/LinkServerCustomId', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Server/LinkServerCustomId",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'PlayFabId' => '123412341234',
'ServerCustomId' => '67AB-5397-CC54-EA31'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-SecretKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Server/LinkServerCustomId"
payload := strings.NewReader("{\n \"PlayFabId\": \"123412341234\",\n \"ServerCustomId\": \"67AB-5397-CC54-EA31\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-SecretKey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Server/LinkServerCustomId")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"PlayFabId\": \"123412341234\",\n \"ServerCustomId\": \"67AB-5397-CC54-EA31\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Server/LinkServerCustomId")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-SecretKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"PlayFabId\": \"123412341234\",\n \"ServerCustomId\": \"67AB-5397-CC54-EA31\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}授权
This API requires a title secret key, available to title admins, from PlayFab Game Manager.
请求体
application/json
Unique PlayFab identifier.
Unique server custom identifier for this player.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
If another user is already linked to the custom ID, unlink the other user and re-link.
最后修改于 2026年10月6日
相关主题
取消关联服务器自定义 ID使用服务器自定义 ID 登录通过 PlayFab ID 获取服务器自定义 ID通过服务器自定义 ID 获取 PlayFab ID使用自定义 ID 对游戏服务器进行身份验证此页面对您有帮助吗?
⌘I
Link Server Custom Id
curl --request POST \
--url https://{titleId}.playfabapi.com/Server/LinkServerCustomId \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"PlayFabId": "123412341234",
"ServerCustomId": "67AB-5397-CC54-EA31"
}
'import requests
url = "https://{titleId}.playfabapi.com/Server/LinkServerCustomId"
payload = {
"PlayFabId": "123412341234",
"ServerCustomId": "67AB-5397-CC54-EA31"
}
headers = {
"X-SecretKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-SecretKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({PlayFabId: '123412341234', ServerCustomId: '67AB-5397-CC54-EA31'})
};
fetch('https://{titleId}.playfabapi.com/Server/LinkServerCustomId', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Server/LinkServerCustomId",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'PlayFabId' => '123412341234',
'ServerCustomId' => '67AB-5397-CC54-EA31'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-SecretKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Server/LinkServerCustomId"
payload := strings.NewReader("{\n \"PlayFabId\": \"123412341234\",\n \"ServerCustomId\": \"67AB-5397-CC54-EA31\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-SecretKey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Server/LinkServerCustomId")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"PlayFabId\": \"123412341234\",\n \"ServerCustomId\": \"67AB-5397-CC54-EA31\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Server/LinkServerCustomId")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-SecretKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"PlayFabId\": \"123412341234\",\n \"ServerCustomId\": \"67AB-5397-CC54-EA31\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}