-------------------------------------------------------------------------------------------------------------------------
// スプレッドシートのURLを指定
var SHEET_URL = '
https://docs.google.com/spreadsheets/d/----spreadSheetID-------------/edit';
// スプレッドシートのシート名を指定
var SHEET_NAME = '---SheetName----';
function main() {
// スプレッドシートを取得
var ss = SpreadsheetApp.openByUrl(SHEET_URL);
var sheet = ss.getSheetByName(SHEET_NAME);
// 必要な列ヘッダーを指定
var headers = ['アカウント名', 'お客様ID', 'お支払いプロファイルID', 'お支払いのお客様名', 'お支払いアカウントの名前', 'お支払いアカウント番号', 'お支払い元アカウント', 'お支払い元アカウントID', 'お支払い設定', 'アカウントステータス', 'サービス契約', '注文番号', '開始日', '終了日'];
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
// MCC内の子アカウントを特定
var childAccounts = AdsManagerApp.accounts().get();
// 各子アカウントから情報を取得
while (childAccounts.hasNext()) {
var childAccount = childAccounts.next();
var customerId = childAccount.getCustomerId(); // お客様IDを取得
var query = "SELECT AccountDescriptiveName, BillingProfileId, CustomerName, AccountName, AccountId, PaymentAccount, PaymentProfileId, PaymentSetting, AccountStatus, ServiceContract, OrderId, StartDate, EndDate FROM ACCOUNT_PERFORMANCE_REPORT";
// ここで AdsApp.report を実行
var report = AdsApp.report(query, { apiVersion: 'v201809' }, { childAccount: childAccount });
var rows = report.rows();
while (rows.hasNext()) {
var row = rows.next();
var rowData = [
row['AccountDescriptiveName'],
customerId, // お客様IDを設定
row['BillingProfileId'],
row['CustomerName'],
row['AccountName'],
row['AccountId'],
row['PaymentAccount'],
row['PaymentProfileId'],
row['PaymentSetting'],
row['AccountStatus'],
row['ServiceContract'],
row['OrderId'],
row['StartDate'],
row['EndDate']
];
sheet.appendRow(rowData);
}
}
}
-------------------------------------------------------------------------------------------------------------------------