GetReader
GetReader umożliwia wydawcy sprawdzenie, czy jeden z czytelników z identyfikatorem PPID połączył subskrypcję z Google. Wydawca wysyła GETżądanieGET, aby wyszukać identyfikator PPID należący do konkretnego identyfikatora publikacji.
Żądanie
API REST: GET request
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Biblioteka klienta (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Odpowiedź
Punkt końcowy zwróci kod 200 z treścią JSON zawierającą created_time połączonej subskrypcji lub błąd, jeśli nie zostanie znaleziony identyfikator PPID publikacji. Więcej informacji znajdziesz w sekcji dotyczącej błędów.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements umożliwia wydawcy wysyłanie zapytań o uprawnienia do identyfikatora PPID, który wcześniej podał. Wydawca wysyła żądanie GET, aby poprosić o uprawnienia, podając identyfikator PPID i identyfikator publikacji.
Żądanie
API REST: GET request
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Biblioteka klienta (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Odpowiedź
W przypadku żądania zakończonego pomyślnie format zwracanych danych jest identyczny z formatem używanym do przechowywania uprawnień w żądaniu UpdateReaderEntitlements PATCH.
{
"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"
}
]
}
W przypadku użytkowników, którzy nie mają uprawnień, ale mają połączony identyfikator PPID (np. uprawnienia, które wygasły i zostały usunięte), żądanie uprawnień zwróci pustą tablicę uprawnień w ramach standardowego obiektu uprawnień.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements służy do tworzenia i aktualizowania uprawnień czytelnika na podstawie jego identyfikatora PPID.
Ten przykładowy ładunek przyznaje czytelnikowi z identyfikatorem PPID 6789 uprawnienia do 3 identyfikatorów produktów w przypadku The Daily Bugle: dailybugle.com:basic, dailybugle.com:premium i dailybugle.com:deluxe. Gdy czytelnik 6789
użyje później usług Google do wyszukiwania i odkrywania, na liście „Z Twoich subskrypcji” pojawią się wszystkie odpowiednie wyniki
z artykułów z witryny dailybugle.com oznaczonych dowolnym z tych identyfikatorów produktów.
Żądanie
API REST: PATCH request
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Treść żądania: więcej informacji o obiekcie entitlements znajdziesz na stronie słownika.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Biblioteka klienta (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
});
}
Odpowiedź
Po udanej operacji PATCH zostanie zwrócony zapisany obiekt entitlements w tym samym formacie co GetReaderEntitlements.
DeleteReader
DeleteReader umożliwia wydawcy ręczne usunięcie połączonej subskrypcji.
Wydawca przesyła identyfikator PPID dla identyfikatora publikacji, który ma zostać usunięty, za pomocą DELETE.
Zanim wywołasz funkcję DeleteReader, musisz najpierw usunąć uprawnienia za pomocą funkcji UpdateReaderEntitlements z pustą tablicą ({ "entitlements": [] }) lub ustawić opcjonalny parametr force na true, jeśli chcesz usunąć czytelnika, który ma uprawnienia.
Parametr force ma domyślnie wartość false.
Żądanie
API REST: DELETE request
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Biblioteka klienta (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
});
}
Odpowiedź
Pomyślne usunięcie zwraca kod 200 z pustym obiektem JSON {}.
{}