GetReader
GetReader
umožňuje vydavateli ověřit, zda jeden z jeho čtenářů se známým PPID propojil své předplatné se společností Google. Pomocí požadavku GET
se vydavatel dotáže na PPID patřící ke konkrétnímu ID publikace.
Žádost
REST API: požadavek GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Klientská knihovna (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Odpověď
Koncový bod vrátí buď 200 s tělem JSON obsahujícím created_time
propojeného předplatného, nebo chybu, pokud není pro publikaci nalezeno žádné PPID. Další informace naleznete v části chyby .
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements
umožňuje vydavateli dotazovat se na nároky pro PPID, které vydavatel poskytl dříve. Pomocí požadavku GET vydavatel požaduje nároky poskytnutím PPID a ID publikace.
Žádost
REST API: požadavek GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Klientská knihovna (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Odpověď
Pro úspěšnou žádost je návratový formát identický s formátem používaným k ukládání nároků s požadavkem PATCH
UpdateReaderEntitlements
.
{
"name": "publications/dailybugle.com/readers/6789/entitlements",
"entitlements": [
{
"product_id": "dailybugle.com:basic",
"subscription_token": "dnabhdufbwinkjanvejskenfw",
"detail": "This is our basic plan",
"expire_time": "2022-08-19T04:53:40+00:00"
},
{
"product_id": "dailybugle.com:premium",
"subscription_token": "wfwhddgdgnkhngfw",
"detail": "This is our premium plan",
"expire_time": "2022-07-19T04:53:40+00:00"
},
{
"product_id": "dailybugle.com:deluxe",
"subscription_token": "fefcbwinkjanvejfefw",
"detail": "This is our deluxe plan",
"expire_time": "2022-08-20T04:53:40+00:00"
}
]
}
Pro uživatele, kteří nemají nároky, ale mají propojený PPID (například nárok, jehož platnost vypršela a byl vyčištěn), požadavek na nároky vrátí prázdné pole nároků jako součást objektu standardních nároků.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements
se používá k vytváření a aktualizaci nároků pro čtenáře na základě jejich PPID.
Tato ukázka užitečného zatížení uděluje čtenáři s PPID 6789
oprávnění ke třem ID produktů pro The Daily Bugle: dailybugle.com:basic
, dailybugle.com:premium
a dailybugle.com:deluxe
. Když čtenář 6789
následně použije platformy Google pro vyhledávání a objevování, seznam „Z vašich předplatných“ bude obsahovat všechny relevantní výsledky z článků dailybugle.com označených kterýmkoli z těchto ID produktů.
Žádost
REST API: požadavek PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Tělo požadavku: Další informace o objektu entitlements
naleznete na stránce glosáře .
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Klientská knihovna (Node.js)
async function updateReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
const requestBody = {
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
};
return await client.publications.readers.updateEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`,
requestBody
});
};
Odpověď
Po úspěšné operaci PATCH bude vrácen uložený objekt entitlements
ve stejném formátu jako GetReaderEntitlements
.
DeleteReader
DeleteReader
umožňuje vydavateli ručně odstranit propojené předplatné. Pomocí požadavku DELETE
vydavatel odešle PPID pro ID publikace, které má být odstraněno.
Před voláním DeleteReader
musíte buď nejprve odstranit nároky pomocí UpdateReaderEntitlements
s prázdným polem ( { "entitlements": [] }
), nebo nastavit volitelný parametr force
na true
, pokud potřebujete odstranit čtečku, která má oprávnění. Parametr force
má výchozí hodnotu false
.
Žádost
REST API: požadavek DELETE
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Klientská knihovna (Node.js)
async function deleteReader(ppid, forceDelete = false) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.delete({
name: `publications/${publicationId}/readers/${ppid}`
force: forceDelete
});
};
Odpověď
Úspěšné odstranění vrátí 200 s prázdným objektem JSON {}
.
{}