GetReader
تتيح GetReader
للناشر التحقّق مما إذا كان أحد قرّائه لديه
معرّف PPID معروف قد ربط اشتراكه بحساب Google. باستخدام طلب GET
،
يبحث الناشر عن معرّف PPID ينتمي إلى معرّف نشر معيّن.
الطلب
واجهة برمجة التطبيقات REST: طلب GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid
مكتبة العميل (Node.js)
async function getReader(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.get({
name: `publications/${publicationId}/readers/${ppid}`,
});
};
الردّ
ستعرض نقطة النهاية إما الرمز 200 مع نص JSON يحتوي على
created_time
للاشتراك المرتبط، أو خطأ إذا لم يتم العثور على معرّف PPID
للنشر. راجِع قسم الأخطاء للحصول على مزيد من
المعلومات.
{
"name": "publications/gtech-demo.appspot.com/readers/81112",
"create_time": "2022-04-19T04:53:40+00:00"
}
GetReaderEntitlements
يسمح GetReaderEntitlements
للناشر بطلب معلومات عن الأذونات الخاصة بمعرّف PPID
الذي قدّمه الناشر سابقًا. باستخدام طلب GET، يطلب الناشر
الأذونات من خلال تقديم معرّف PPID ومعرّف النشر.
الطلب
واجهة برمجة التطبيقات REST: طلب GET
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
مكتبة العميل (Node.js)
async function getReaderEntitlements(ppid) {
const publicationId = process.env.PUBLICATION_ID;
return await client.publications.readers.getEntitlements({
name: `publications/${publicationId}/readers/${ppid}/entitlements`
});
};
الردّ
في حال نجاح الطلب، يكون تنسيق الإرجاع مطابقًا للتنسيق المستخدَم لتخزين الأذونات باستخدام طلب 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"
}
]
}
بالنسبة إلى المستخدمين الذين ليس لديهم أذونات، ولكن لديهم معرّف مستخدم مرتبط (على سبيل المثال، إذن انتهت صلاحيته وتم حذفه)، سيؤدي طلب الأذونات إلى عرض صفيف أذونات فارغ كجزء من عنصر الأذونات العادي.
{
"name": "publications/dailybugle.com/readers/6789/entitlements",
"createTime": "2023-02-07T17:38:57.425577Z"
}
UpdateReaderEntitlements
يُستخدَم UpdateReaderEntitlements
لإنشاء أذونات
للقارئ وتعديلها استنادًا إلى معرّف PPID.
يمنِح نموذج الحمولة هذا للقارئ الذي يحمل معرّف PPID 6789
أذونات بالوصول إلى ثلاثة
أرقام تعريف منتجات لصحيفة The Daily Bugle: dailybugle.com:basic
و
dailybugle.com:premium
وdailybugle.com:deluxe
. عندما يستخدم القارئ 6789
لاحقًا مساحات عرض Google في "بحث Google" وميزة "اقتراحات"، ستعرض قائمة
"من اشتراكاتك" أي نتائج ذات صلة
من مقالات dailybugle.com التي تم وضع علامة عليها باستخدام أي من معرّفات المنتجات هذه.
الطلب
واجهة برمجة التطبيقات REST: طلب PATCH
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid/entitlements
محتوى الطلب: لمزيد من المعلومات عن عنصر entitlements
، يُرجى الرجوع إلى صفحة
مسرد المصطلحات.
{
entitlements : [{
product_id: `${publicationId}:basic`,
subscription_token: 'abc1234',
detail: 'This is our basic plan',
expire_time: '2025-10-21T03:05:08.200564Z'
}]
}
مكتبة العميل (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
});
};
الردّ
بعد نجاح عملية PATCH، سيتم
عرض عنصر entitlements
المحفوظ بالتنسيق نفسه المستخدَم في GetReaderEntitlements
.
DeleteReader
تسمح منصة DeleteReader
للناشر بحذف اشتراك مرتبط يدويًا.
باستخدام طلب DELETE
، يُرسِل الناشر معرّفًا مقدَّمًا من الناشر لمعرّف النشر المطلوب
حذفه.
قبل استدعاء DeleteReader
، عليك أولاً حذف الأذونات
باستخدام UpdateReaderEntitlements
مع صفيف فارغ
({ "entitlements": [] }
)، أو ضبط المَعلمة الاختيارية force
على true
إذا
كنت بحاجة إلى حذف قارئ لديه أذونات.
القيمة التلقائية للمَعلمة force
هي false
.
الطلب
واجهة برمجة التطبيقات REST: طلب DELETE
https://readerrevenuesubscriptionlinking.googleapis.com/v1/publications/publicationId/readers/ppid?force={boolean}
مكتبة العميل (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
});
};
الردّ
يعرض الحذف الناجح رمز الحالة 200 مع كائن JSON فارغ {}
.
{}