في آذار (مارس) 2022، أطلقنا الإصدار 2 من Bid Manager API. وبعد طرح هذا الإصدار الجديد، نخطّط للإعلان قريبًا عن تاريخ إيقاف الإصدار 1.1. ننصحك ببدء عملية نقل البيانات من الإصدار 1.1 إلى الإصدار 2 في أقرب وقت ممكن.
نقل تطبيقك
تتطلّب عملية نقل البيانات من الإصدار 1.1 إلى الإصدار 2 تعديل عناوين URL لنقاط النهاية لطلب الإصدار 2، وتعديل تطبيقك لاستيعاب التغييرات غير المتوافقة مع الإصدارات السابقة.
تعديل طلبات البيانات من واجهة برمجة التطبيقات من الإصدار 1.1 إلى الإصدار 2
لاستخدام الإصدار 2 بدلاً من الإصدار 1.1، عليك تعديل طلباتك لاستخدام نقاط نهاية الإصدار 2 الجديدة.
تحديد الطرق المكافئة
لتعديل طلبات البيانات من واجهة برمجة التطبيقات من الإصدار 1.1 إلى الإصدار 2، عليك أولاً تحديد طرق الإصدار 1.1 المكافئة في الإصدار 2.
تغيّرت أسماء جميع الخدمات والطرق التالية بشكل طفيف بين الإصدارين 1.1 و2:
- يُعرف كل من الخدمتين
QueriesوReportsفي الإصدار 1.1 باسمqueriesوqueries.reportsفي الإصدار 2. - تمت إعادة تسمية الطرق على النحو التالي في الإصدار 2:
اسم الطريقة في الإصدار 1.1 طريقة الإصدار 2 من "المكافئ" Queries.createqueryqueries.createQueries.deletequeryqueries.deleteQueries.getqueryqueries.getQueries.listqueriesqueries.listQueries.runqueryqueries.runReports.listreportsqueries.reports.list
تعديل نقاط النهاية الجديدة
بعد تحديد الطرق المكافئة، عليك تعديل طلباتك. على سبيل المثال، لاستدعاء الطريقة queries.getquery باستخدام الإصدار 1.1، عليك استخدام عنوان URL التالي:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
لاستدعاء الطريقة المكافئة في الإصدار 2، والمعروفة باسم queries.get، عدِّل عنوان URL إلى ما يلي:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
إذا كنت تستخدم مكتبة برامج للعميل لإرسال طلبات إلى واجهة برمجة التطبيقات، استخدِم أحدث إصدار من مكتبة برامج العميل وعدِّل إعداداتك لاستخدام الإصدار 2.
إجراء التغييرات المطلوبة
نحن بصدد طرح عدد من التغييرات التي قد تؤدي إلى أعطال في الإصدار 2. راجِع التعليمات التالية وأجرِ التغييرات المطلوبة ذات الصلة بطريقة استخدامك الحالية لواجهة برمجة التطبيقات Bid Manager API.
تعديل المكالمات إلى خدمة queries
- تم تغيير الحقول التالية في المورد
Queryالذي تم تمثيله في الأصل بواسطة كائنات عامة متداخلة لاستخدام أنواع الكائنات التالية:الحقل v1.1 نوع العنصر المكافئ في الإصدار 2 metadataQueryMetadataparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsتمّت إزالته params.options.pathQueryOptions.channelGroupingتمّت إزالته params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterتمّت إزالته params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterتمّت إزالته scheduleQuerySchedule - تم تغيير الحقول التالية في مرجع
Queryالذي تمثله في الأصل عناصر القائمة العامة، لتصبح قوائم بأنواع العناصر الجديدة التالية:حقل القائمة الإصدار 1.1 نوع العنصر في الإصدار 2 params.filters[]FilterPairparams.options.pathQueryOptions.channelGrouping.rules[]تمّت إزالته params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[]تمّت إزالته params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[]تمّت إزالته params.options.pathQueryOptions.pathFilters[]تمّت إزالته params.options.pathQueryOptions.pathFilters[].eventFilters[]تمّت إزالته - يتم تمثيل الحقول التالية في مرجع
Query، والتي كانت ممثلة في الأصل بسلاسل، بأنواع تعداد في الإصدار 2، وتشمل التغييرات التالية:- يستخدم الإصدار 2 من
metadata.dataRangeالآن التعدادRange. عند التحويل إلى هذا النوع من التعداد، تمت إزالة القيمةPREVIOUS_HALF_MONTHوتغيير القيمةTYPE_NOT_SUPPORTEDإلىRANGE_UNSPECIFIED. - يستخدم
metadata.formatالآن تعدادFormat. عند التحويل إلى هذا النوع من التعداد، تمت إزالة القيمةEXCEL_CSVوإضافة القيمةFORMAT_UNSPECIFIED. - يستخدم التطبيقان
params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchوparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchالآن تعدادMatch. - يستخدم
params.options.pathQueryOptions.pathFilters[].pathMatchPositionالآن التعدادPathMatchPosition. تمت إضافة القيمةPATH_MATCH_POSITION_UNSPECIFIEDعند التحويل إلى هذا النوع من التعداد. - يستخدم
schedule.frequencyالآن تعدادFrequency. عند التحويل إلى هذا النوع من التعداد، تمت إضافة القيمةFREQUENCY_UNSPECIFIED. - يستخدم
params.typeالآن تعدادReportType. عند التحويل إلى هذا النوع من التعداد، تم إجراء التغييرات التالية: - تم إيقاف القيم التالية نهائيًا:
TYPE_ACTIVE_GRPTYPE_AUDIENCE_PERFORMANCETYPE_CLIENT_SAFETYPE_COMSCORE_VCETYPE_CROSS_FEETYPE_CROSS_PARTNERTYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDERTYPE_ESTIMATED_CONVERSIONTYPE_FEETYPE_KEYWORDTYPE_LINEAR_TV_SEARCH_LIFTTYPE_NIELSEN_AUDIENCE_PROFILETYPE_NIELSEN_DAILY_REACH_BUILDTYPE_NIELSEN_ONLINE_GLOBAL_MARKETTYPE_PAGE_CATEGORYTYPE_PETRA_NIELSEN_DAILY_REACH_BUILDTYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKETTYPE_PIXEL_LOADTYPE_THIRD_PARTY_DATA_PROVIDERTYPE_TRUEVIEW_IARTYPE_VERIFICATIONTYPE_YOUTUBE_VERTICAL
- تم تعديل القيم المتبقية لتعكس بشكل أفضل القيم المكافئة لها في واجهة المستخدم:
قيم الإصدار 1.1 قيمة ReportTypeالمكافئةTYPE_NOT_SUPPORTEDREPORT_TYPE_UNSPECIFIEDTYPE_GENERALSTANDARDTYPE_INVENTORY_AVAILABILITYINVENTORY_AVAILABILITYTYPE_AUDIENCE_COMPOSITIONAUDIENCE_COMPOSITIONTYPE_ORDER_IDFLOODLIGHTTYPE_TRUEVIEWYOUTUBETYPE_NIELSEN_SITEGRPTYPE_PETRA_NIELSEN_AUDIENCE_PROFILEYOUTUBE_PROGRAMMATIC_GUARANTEEDTYPE_REACH_AND_FREQUENCYREACHTYPE_REACH_AUDIENCEUNIQUE_REACH_AUDIENCETYPE_PATHFULL_PATHTYPE_PATH_ATTRIBUTIONPATH_ATTRIBUTION
- يستخدم الإصدار 2 من
- تم استبدال الحقول
metadata.dataRangeوreportDataStartTimeMsوreportDataEndTimeMsبالحقولrangeوcustomStartDateوcustomEndDate. تستخدم حقول التاريخ الجديدة عناصرDateبدلاً من الملّي ثانية منذ بدء حقبة يونكس. تم نقل حقول الاستبدال هذه إلى عنصرDataRangeالذي تم تعيينه إلى الحقلdataRangeفي العنصرQueryMetadata. - تم استبدال الحقلَين
schedule.startTimeMsوschedule.endTimeMsبالحقلَينstartDateوendDateفي العنصرQuerySchedule. تستخدم حقول التاريخ الجديدة عناصرDateبدلاً من الملّي ثانية منذ بدء حقبة يونكس. - تمت إزالة الحقول
metadata.runningوmetadata.reportCountوmetadata.googleCloudStoragePathForLatestReportوmetadata.googleDrivePathForLatestReportوmetadata.latestReportRunTimeMs. يجب بدلاً من ذلك استرداد المعلومات المتعلقة بأحدث التقارير التي تم إنشاؤها لطلب بحث باستخدام طريقةqueries.reports.listمع مَعلمة طلب البحثorderByالتي تتضمّن "key.reportId desc" لضمان أن يعرض الطلب أحدث التقارير أولاً. - تمت إزالة الحقول
kindوtimezoneCodeوmetadata.localeوparams.includeInviteDataوschedule.nextRunMinuteOfDay. - لم يعُد
queries.createينفّذ طلبات البحث تلقائيًا بعد إنشائها، وتمت إزالة مَعلمة طلب البحثasynchronous. استخدِم الأمر Callqueries.runبعدqueries.createلإنشاء تقارير لطلبات البحث الجديدة. - تم تعديل طريقة
queries.runبالطرق التالية:- تم استبدال مَعلمة طلب البحث
asynchronousبمَعلمة طلب البحثsynchronous. تعمل مَعلمة طلب البحث الجديدة بمنطق معكوس، ويتم اعتبارها غير صحيحة إذا لم يتم تحديدها. بناءً على ذلك، تنشئqueries.runالتقارير بشكل غير متزامن تلقائيًا في الإصدار 2، على عكس الإصدار 1.1 الذي ينشئ التقارير بشكل متزامن تلقائيًا. - تم تعديل نص الطلب لإزالة الحقل
timezoneCodeواستبدال الحقولdataRangeوreportDataStartTimeMsوreportDataEndTimeMsبكائنDataRangeتم تعيينه للحقلdataRange. - يعرض الإجراء عنصر
Reportالناتج بدلاً من نص استجابة فارغ.
- تم استبدال مَعلمة طلب البحث
- تمت إزالة الحقل
kindفي نص استجابةqueries.list.
تعديل المكالمات إلى خدمة reports
- تم تغيير الحقول التالية في مورد
Reportالذي كان يتم تمثيله في الأصل بواسطة كائنات عامة مدمجة لاستخدام أنواع الكائنات التالية:حقل الإصدار 1.1 نوع العنصر المكافئ في الإصدار 2 keyReportKeymetadataReportMetadatametadata.statusReportStatusparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsتمّت إزالته params.options.pathQueryOptions.channelGroupingتمّت إزالته params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterتمّت إزالته params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterتمّت إزالته - تم تغيير الحقول التالية في مرجع
Reportالذي كان يتم تمثيله في الأصل بواسطة عناصر القائمة العامة، لتصبح قوائم من أنواع العناصر الجديدة التالية:حقل القائمة الإصدار 1.1 نوع العنصر في الإصدار 2 params.filters[]FilterPairparams.options.pathQueryOptions.channelGrouping.rules[]تمّت إزالته params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[]تمّت إزالته params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[]تمّت إزالته params.options.pathQueryOptions.pathFilters[]تمّت إزالته params.options.pathQueryOptions.pathFilters[].eventFilters[]تمّت إزالته - تم تغيير الحقول التالية في المرجع
Reportالذي كان ممثلاً في الأصل بسلاسل، وذلك لتصبح الحقول المكافئة لها في الإصدار 2 ممثلة بأنواع تعداد جديدة، كما تم إجراء تغييرات على القيم المقبولة:- يستخدم
metadata.status.formatالآن تعدادFormat. عند التحويل إلى هذا النوع من التعداد، تمت إزالة القيمةEXCEL_CSVوإضافةFORMAT_UNSPECIFIED. - يستخدم
metadata.status.stateالآن تعدادState. عند التحويل إلى هذا النوع من التعداد، تمت إضافة القيمتينQUEUEDوSTATE_UNSPECIFIED. - يستخدم التطبيقان
params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchوparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchالآن تعدادMatch. - يستخدم
params.options.pathQueryOptions.pathFilters[].pathMatchPositionالآن التعدادPathMatchPosition. تمت إضافة القيمةPATH_MATCH_POSITION_UNSPECIFIEDعند التحويل إلى هذا النوع من التعداد. - يستخدم
params.typeالآن تعدادReportType. عند التحويل إلى هذا النوع من التعداد، تم إجراء العديد من التغييرات التي تم إدراجها بالتفصيل في القسم السابق بشأن تعديل طلبات الخدمة الخاصة بالاستعلامات.
- يستخدم
- تم استبدال الحقلين
metadata.reportDataStartTimeMsوmetadata.reportDataEndTimeMsبالحقلينreportDataStartDateوreportDataEndDateفي العنصرReportMetadata. تستخدم الحقول الجديدة عناصرDateبدلاً من الملّي ثانية منذ بدء حقبة يونكس. - تم استبدال
metadata.status.finishTimeMsبالحقلfinishTimeفي العنصرReportStatus. يمثّل حقل الوقت الجديد التاريخ والوقت كطابع زمني بتنسيق RFC3339 UTC "Zulu" بدلاً من تمثيلهما بالملي ثانية منذ بدء حقبة يونكس. - تمت إزالة الحقلَين
metadata.status.failureوparams.includeInviteData. - تمت إزالة الحقل
kindمن نص الاستجابةreports.list.
تعديل منطق معالجة الأخطاء
تم تعديل رسائل الخطأ في جميع أنحاء واجهة برمجة التطبيقات في الإصدار 2. تتسم رسائل الخطأ الجديدة هذه بأنّها أكثر تحديدًا، وفي بعض الحالات، تقدّم معلومات عن القيم في طلب بيانات من واجهة برمجة التطبيقات التي تتسبّب في عرض الخطأ. إذا كانت منطق معالجة الأخطاء الحالي يعتمد على نص رسالة خطأ معيّن، عليك تعميم معالجة الأخطاء قبل نقل البيانات إلى الإصدار 2.