אסטרטגיית שינוי

המדריך הזה יוצג כדי ליצור אנלוגית מדויקת במדריכים למיקסום ביצועים, ההנחה היא שאתם תיצרו את כל בבקשה אטומית אחת, במקום ליצור כל ישות בנפרד בבקשות נפרדות. המשמעות היא שצריך להשתמש בשימוש זמני המזהים שצריך לקשר אליהם משאבים אחד את השני, כי לא תוכלו לדעת את שמות המשאבים המלאים עד שתקבלו את ה-API תשובה.

לשם כך תצטרכו לכתוב קוד מסוים כדי לוודא שלא תיצרו מזהי טמפרטורה כפולים:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

בכל קריאה עוקבת אל getNextTempId תחזיר מספר אחד קטן מ- הקודם. כל מזהי הטמפרטורה חייבים להיות שליליים, ולכן צריך להתחיל ב-1-.

עכשיו אפשר ליצור מערך שיכיל את כל הפעולות:

const operations = [];

לעיתים קרובות תצטרכו את מספר הלקוח של הלקוח שעבורו רוצים לבצע את התשלום מכיוון שהוא נדרש בכל שם של משאב.

const customerId = AdsApp.currentAccount().getCustomerId();

בכל פעם שרוצים ליצור פעולה חדשה, צריך להשתמש במזהה הטמפרטורה הבא בשדה את שם המשאב, כדי שתוכלו להפנות לאובייקט מאוחר יותר, ולהזין את הקוד שנוצר למערך:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

מידע נוסף והסבר על פעולה לדוגמה בשינוי ה-REST של Google Ads API תיעוד.

לאחר שבנית את כל הפעולות שלנו, יש לבצע אותן בפעולה אחת אצווה:

AdsApp.mutateAll(operations);