Metody interfejsu API

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:premiumdailybugle.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 {}.

{}