連結自訂 ID
Links the custom identifier, generated by the title, to the user’s PlayFab account
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| AccountLinkedToABannedPlayer | 1613 |
| LinkedIdentifierAlreadyClaimed | 1184 |
POST
/
Client
/
LinkCustomID
Link Custom ID
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/LinkCustomID \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"CustomId": "67AB-5397-CC54-EA31"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/LinkCustomID"
payload = { "CustomId": "67AB-5397-CC54-EA31" }
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({CustomId: '67AB-5397-CC54-EA31'})
};
fetch('https://{titleId}.playfabapi.com/Client/LinkCustomID', 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/Client/LinkCustomID",
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([
'CustomId' => '67AB-5397-CC54-EA31'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <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/Client/LinkCustomID"
payload := strings.NewReader("{\n \"CustomId\": \"67AB-5397-CC54-EA31\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<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/Client/LinkCustomID")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"CustomId\": \"67AB-5397-CC54-EA31\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/LinkCustomID")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"CustomId\": \"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 client session ticket, available from any Client Login function.
主體
application/json
Custom unique identifier for the user, generated by the title.
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日
這個頁面有幫助嗎?
⌘I
Link Custom ID
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/LinkCustomID \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"CustomId": "67AB-5397-CC54-EA31"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/LinkCustomID"
payload = { "CustomId": "67AB-5397-CC54-EA31" }
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({CustomId: '67AB-5397-CC54-EA31'})
};
fetch('https://{titleId}.playfabapi.com/Client/LinkCustomID', 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/Client/LinkCustomID",
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([
'CustomId' => '67AB-5397-CC54-EA31'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <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/Client/LinkCustomID"
payload := strings.NewReader("{\n \"CustomId\": \"67AB-5397-CC54-EA31\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<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/Client/LinkCustomID")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"CustomId\": \"67AB-5397-CC54-EA31\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/LinkCustomID")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"CustomId\": \"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": {}
}