GetReader
GetReader, yayıncını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ğini kullanarak belirli bir yayın kimliğine ait bir PPID için sorgu gönderir.
İ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övdesiyle 200 yanıtını veya yayın için PPID bulunamazsa bir 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 sorgulamasına olanak tanır. Yayıncı, GET isteğini kullanarak bir PPID ve Yayın Kimliği sağlayarak hakları talep eder.
İ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önüş biçimi, UpdateReaderEntitlements PATCH isteğiyle hakları 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"
}
]
}
Hakları olmayan ancak bağlı bir PPID'si olan kullanıcılar için (ör. süresi dolmuş ve temizlenmiş bir hak) hak isteği, standart hak nesnesinin bir parçası olarak boş bir hak dizisi döndürür.
{
"name": "publications/dailybugle.com/readers/6789/entitlements"
}
UpdateReaderEntitlements
UpdateReaderEntitlements, okuyucunun PPID'sine göre yetkilendirmeler oluşturmak ve güncellemek için kullanılır.
Bu örnek yük, 6789 PPID'sine sahip okuyucuya The Daily Bugle için üç ürün kimliğiyle ilgili haklar veriyor: dailybugle.com:basic, dailybugle.com:premium ve dailybugle.com:deluxe. 6789 kimlikli okuyucu daha sonra Arama ve Keşfet için Google platformlarını kullandığında, "Aboneliklerinizden" listesinde dailybugle.com makalelerinden bu ürün kimlikleriyle etiketlenmiş tüm 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 sözlük sayfasını inceleyin.
{
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şleminden sonra, kaydedilen entitlements nesnesi GetReaderEntitlements ile aynı biçimde döndürülür.
DeleteReader
DeleteReader, yayıncının bağlı bir aboneliği manuel olarak silmesine olanak tanır.
Yayıncı, DELETE isteğini kullanarak bir Yayın Kimliği için silinecek bir PPID gönderir.
DeleteReader işlevini çağırmadan önce, yetkileri silmeniz gerekir. Bunu, boş bir diziyle ({ "entitlements": [] }) UpdateReaderEntitlements işlevini kullanarak yapabilir veya yetkileri olan bir okuyucuyu silmeniz gerekiyorsa isteğe bağlı force parametresini true olarak ayarlayabilirsiniz. force parametresi varsayılan olarak false değerini alı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 {} ile 200 döndürür.
{}