GetReader
GetReader
, yayıncıların bilinen bir PPID'ye sahip okuyucularından birinin aboneliğini Google'a bağlayıp bağlamadığını doğrulamasına olanak tanır. Yayıncı, GET
isteği kullanarak belirli bir Yayın Kimliği'ne ait bir PPID sorgular.
İstek
REST API: GET
isteği
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
İstemci kitaplığı (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
Yanıt
Uç nokta, bağlı aboneliğin created_time
değerini içeren bir JSON gövdesi ile 200 yanıtı döndürür veya yayın için PPID bulunamazsa hata döndürür. Daha fazla bilgi için hatalar bölümüne bakın.
{
"name": "publications/CAowqfCKCw/readers/22553",
"createTime": "2025-07-30T18:26:58.050224Z",
"publicationId": "CAowqfCKCw",
"ppid": "22553",
"originatingPublicationId": "CAowqfCKCw"
}
GetReaderEntitlements
GetReaderEntitlements
, yayıncının daha önce sağladığı bir PPID için hak talep etmesine olanak tanır. Yayıncı, GET isteği kullanarak bir PPID ve Yayın Kimliği sağlayarak izinleri ister.
İstek
REST API: GET
isteği
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
İstemci kitaplığı (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
Yanıt
Başarılı bir istek için döndürülen biçim, UpdateReaderEntitlements
PATCH
isteğiyle hak sahipliklerini depolamak için kullanılan biçimle aynıdır.
{
"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"
}
]
}
Kullanım hakkı olmayan ancak bağlı bir PPID'si olan kullanıcılar (ör. süresi dolan ve temizlenen bir kullanım hakkı) için, standart kullanım hakları nesnesi kapsamında boş bir kullanım hakları dizisi döndürülür.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements
, PPID'lerine göre okuyucular için ayrıcalıklar oluşturmak ve güncellemek için kullanılır.
Bu örnek yükü, okuyucuya The Daily Bugle için üç ürün kimliği (dailybugle.com:basic
, dailybugle.com:premium
ve dailybugle.com:deluxe
) ile ilgili PPID 6789
haklarından yararlanma olanağı tanır. 6789
adlı okuyucu daha sonra Arama ve Keşfet için Google platformlarını kullandığında "Aboneliklerinizden" listesinde, bu ürün kimliklerinden herhangi biriyle etiketlenmiş dailybugle.com makalelerindeki alakalı sonuçlar yer alır.
İstek
REST API: PATCH
isteği
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
İstek gövdesi: entitlements
nesnesi hakkında daha fazla bilgi için terimler sözlüğü sayfasına bakın.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
İstemci kitaplığı (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
});
};
Yanıt
Başarılı bir PATCH işleminin ardından, kayıtlı entitlements
nesnesi GetReaderEntitlements
ile aynı biçimde döndürülür.
DeleteReader
DeleteReader
, yayıncıların bağlı bir aboneliği manuel olarak silmesine olanak tanır.
Yayıncı, DELETE
isteği kullanarak silinecek bir Yayın Kimliği için PPID gönderir.
DeleteReader
işlevini çağırmadan önce, önce boş bir dizi ({ "entitlements": [] }
) kullanarak UpdateReaderEntitlements
işlevini kullanarak ayrıcalıkları silmeniz veya ayrıcalıkları olan bir okuyucuyu silmeniz gerekiyorsa isteğe bağlı force
parametresini true
olarak ayarlamanız gerekir.
force
parametresi varsayılan olarak false
değerine ayarlanır.
İstek
REST API: DELETE
isteği
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
İstemci kitaplığı (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
});
};
Yanıt
Başarılı bir silme işlemi, boş bir JSON nesnesi {}
içeren 200 yanıtı döndürür.
{}