GetReader
GetReader
pozwala wydawcy sprawdzić, czy jeden z czytelników z znanym identyfikatorem PPID połączył swoją subskrypcję z Google. Za pomocą żądania GET
wydawca wysyła zapytanie o identyfikator PPID należący do konkretnego identyfikatora publikacji.
Żądanie
Interfejs API REST: GET
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 tekstem JSON zawierającym created_time
powiązanej subskrypcji lub błąd, jeśli nie uda się znaleźć identyfikatora PPID publikacji. Więcej informacji znajdziesz w sekcji Błędy.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements
umożliwia wydawcy wysłanie zapytania o uprawnienia dotyczące PPID, które zostały wcześniej podane przez wydawcę. Za pomocą żądania GET wydawca prosi o uprawnienia, podając identyfikator PPID i identyfikator publikacji.
Żądanie
Interfejs API REST: GET
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 udanego żądania 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ą powiązany identyfikator PPID (np. uprawnienia, które wygasły i zostały usunięte), żądanie uprawnień zwróci pusty tablica uprawnień jako część standardowego obiektu uprawnień.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements
służy do tworzenia i aktualizowania uprawnień dla czytelnika na podstawie jego identyfikatora PPID.
Ten przykładowy ładunek zapewnia czytelnikowi uprawnienia PPID 6789
do 3 identyfikatorów produktu w przypadku The Daily Bugle: dailybugle.com:basic
, dailybugle.com:premium
i dailybugle.com:deluxe
. Gdy czytelnik 6789
później korzysta z usług Google do wyszukiwania i przeglądania, na liście „Z subskrypcji” pojawią się wszystkie trafne wyniki z artykułów z dailybugle.com oznaczonych dowolnym z tych identyfikatorów produktów.
Żądanie
Interfejs API REST: PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Treść żądania: więcej informacji o obiekcie entitlements
znajdziesz na stronie z słownikiem.
{
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 pomyślnym wykonaniu operacji PATCH zwrócony zostanie zapisany obiekt entitlements
w tym samym formacie co GetReaderEntitlements
.
DeleteReader
DeleteReader
pozwala wydawcy ręcznie usunąć połączoną subskrypcję.
Korzystając z żądania DELETE
, wydawca przesyła identyfikator PPID identyfikatora publikacji, który ma zostać usunięty.
Zanim wywołasz funkcję DeleteReader
, musisz najpierw usunąć uprawnienia, używając funkcji UpdateReaderEntitlements
z pustym tablicą ({ "entitlements": [] }
), lub ustawić opcjonalny parametr force
na wartość true
, jeśli chcesz usunąć czytnik z uprawnieniami.
Parametr force
ma domyślnie wartość false
.
Żądanie
Interfejs API REST: DELETE
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 {}
.
{}