GetReader
GetReader
permet à un éditeur de vérifier si l'un de ses lecteurs avec un PPID connu a associé son abonnement à Google. À l'aide d'une requête GET
, l'éditeur interroge un PPID appartenant à un ID de publication particulier.
Requête
API REST : requête GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
Bibliothèque cliente (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Réponse
Le point de terminaison renvoie un code 200 avec un corps JSON contenant le created_time
de l'abonnement associé, ou une erreur si aucun PPID n'a été trouvé pour la publication. Pour en savoir plus, consultez la section Erreurs.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements
permet à un éditeur d'interroger les droits d'accès pour un PPID qu'il a précédemment fourni. À l'aide d'une requête GET, l'éditeur demande les droits d'accès en fournissant un PPID et un ID de publication.
Requête
API REST : requête GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Bibliothèque cliente (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Réponse
Si une requête aboutit, le format renvoyé est identique à celui utilisé pour stocker les droits d'accès avec la requête 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"
}
]
}
Pour les utilisateurs qui ne disposent pas de droits d'accès, mais qui possèdent un PPID associé (par exemple, un droit d'accès qui a expiré et qui a été supprimé définitivement), une requête de droits d'accès renvoie un tableau correspondant vide dans l'objet Entitlements standard.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements
permet de créer et de mettre à jour les droits d'accès d'un lecteur en fonction de son PPID.
Cet exemple de charge utile accorde au lecteur avec le PPID 6789
des droits d'accès à trois ID produit pour The Daily Bugle : dailybugle.com:basic
, dailybugle.com:premium
et dailybugle.com:deluxe
. Lorsque le lecteur 6789
utilise ensuite les surfaces Google pour la recherche et Discover, la liste "Source : vos abonnements" affiche tous les résultats pertinents des articles issus de dailybugle.com qui sont associés à l'un de ces ID produit.
Requête
API REST : requête PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
Corps de la requête : pour en savoir plus sur l'objet entitlements
, consultez la page du glossaire.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
Bibliothèque cliente (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
});
};
Réponse
Lorsqu'une opération PATCH réussit, l'objet entitlements
enregistré est renvoyé, au même format que GetReaderEntitlements
.
DeleteReader
DeleteReader
permet à un éditeur de supprimer manuellement un abonnement associé.
À l'aide d'une requête DELETE
, l'éditeur envoie un PPID pour qu'un ID de publication soit supprimé.
Avant d'appeler DeleteReader
, vous devez d'abord supprimer les droits d'accès à l'aide de UpdateReaderEntitlements
avec un tableau vide ({ "entitlements": [] }
), ou définir le paramètre facultatif force
sur true
si vous devez supprimer un lecteur qui dispose de droits d'accès.
Le paramètre force
est défini par défaut sur false
.
Requête
API REST : requête DELETE
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
Bibliothèque cliente (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
});
};
Réponse
Une suppression réussie renvoie un code 200 avec un objet JSON vide {}
.
{}