GetReader
Mit GetReader
können Verlage und Webpublisher prüfen, ob ein Leser mit einer bekannten PPID sein Abo mit Google verknüpft hat. Mit einer GET
-Anfrage fragt der Verlag oder Webpublisher eine PPID ab, die zu einer bestimmten Publikations-ID gehört.
Anfrage
REST API: GET
-Anfrage
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Clientbibliothek (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Antwort
Der Endpunkt gibt entweder den Statuscode 200 mit einem JSON-Text zurück, der den created_time
-Wert des verknüpften Abos enthält, oder eine Fehlermeldung, wenn keine PPID für die Publikation gefunden wurde. Weitere Informationen finden Sie im Abschnitt zur Fehlerbehebung.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements
ermöglicht einem Verlag oder Webpublisher, Berechtigungen für eine zuvor bereitgestellte PPID abzufragen. Um die Berechtigungen über eine GET-Anfrage anzufordern, muss der Verlag oder Webpublisher eine PPID und eine Publikations-ID angeben.
Anfrage
REST API: GET
-Anfrage
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Clientbibliothek (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Antwort
Bei einer erfolgreichen Anfrage ist das Rückgabeformat identisch mit dem Format, das zum Speichern von Berechtigungen mit der PATCH
-Anfrage UpdateReaderEntitlements
verwendet wird.
{
"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"
}
]
}
Für Nutzer, die keine Berechtigungen, aber eine verknüpfte PPID haben (z. B. eine abgelaufene und dauerhaft gelöschte Berechtigung), wird bei einer Berechtigungsanfrage ein leeres Berechtigungsarray als Teil des standardmäßigen Berechtigungsobjekts zurückgegeben.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements
wird zum Erstellen und Aktualisieren von Berechtigungen für einen Leser verwendet, basierend auf seiner PPID.
Diese Beispielnutzlast gewährt dem Leser mit der PPID 6789
Berechtigungen für drei Produkt-IDs für „The Daily Bugle“: dailybugle.com:basic
, dailybugle.com:premium
und dailybugle.com:deluxe
. Wenn Leser 6789
anschließend Google-Plattformen für die Suche und Discover verwendet, werden in der Liste „Aus deinen Abos“ alle relevanten Ergebnisse aus dailybugle.com-Artikeln angezeigt, die mit einer dieser Produkt-IDs getaggt sind.
Anfrage
REST API: PATCH
-Anfrage
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Anfragetext: Weitere Informationen zum entitlements
-Objekt finden Sie auf der Seite Glossar.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Clientbibliothek (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
});
};
Antwort
Nach einem erfolgreichen PATCH-Vorgang wird das gespeicherte entitlements
-Objekt im selben Format wie GetReaderEntitlements
zurückgegeben.
DeleteReader
Mit DeleteReader
kann ein Verlag oder Webpublisher ein verknüpftes Abo manuell löschen.
Dazu sendet der Verlag oder Webpublisher mithilfe einer DELETE
-Anfrage eine PPID für eine zu löschende Publikations-ID ein.
Bevor Sie DeleteReader
aufrufen, müssen Sie entweder zuerst Berechtigungen mit UpdateReaderEntitlements
und einem leeren Array ({ "entitlements": [] }
) löschen oder den optionalen Parameter force
auf true
setzen, wenn Sie einen Leser mit Berechtigungen löschen möchten.
Der Standardwert des Parameters force
ist false
.
Anfrage
REST API: DELETE
-Anfrage
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Clientbibliothek (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
});
};
Antwort
Ein erfolgreicher Löschvorgang gibt den Statuscode 200 mit dem leeren JSON-Objekt {}
zurück.
{}