Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Sportradar
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
擷取英格蘭足球超級聯賽的賽程表
/**
* @fileoverview Example of using Sportsradar API to get English Premier League
* soccer schedules, to use in adjusting campaigns.
* The principles of this example could easily be reused against any of the
* sports feeds available from Sportradar.
*
* Example: Get fixtures on 1st Oct 2016
* const schedule = getSoccerSchedule(2016, 10, 1);
* See https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#working_with_api_responses
* See https://developer.sportradar.com/
*/
// Replace with the API Key found on your Sportradar API Application page.
const API_KEY = 'ENTER_API_KEY';
// Insert your email address here for notification of API request failures.
const EMAIL_ADDRESS = 'ENTER_EMAIL_ADDRESS';
const VERSION = 4;
const LEAGUE = 'en';
// Set to false when no longer in trial mode.
const TRIAL_MODE = true;
/**
* Retrieves a list of fixtures from the Soccer Schedule API.
* @param {number} year The year for which to get matches, in the form yyyy.
* @param {number} month The month for which to get matches, in range 1-12.
* @param {number} day The day for which to get matches, in range 1-31.
* @return {!Array.<!Object>} An array of object containing fixture info or
* null if the request was unsuccessful.
*/
function getSoccerSchedule(year, month, day) {
const urlTemplate =
'https://api.sportradar.com/soccer/%s/v%d/%s/schedules/%d-%02d-%02d/schedules.xml';
const accessLevel = TRIAL_MODE ? 'trial' : 'production';
const url = Utilities.formatString(
urlTemplate, accessLevel, VERSION, LEAGUE, year, month, day);
const response = UrlFetchApp.fetch(url, {
headers: {
'x-api-key': API_KEY
}
});
return parseScheduleXml(response.getContentText());
}
/**
* Converts the date format returned from the XML feed into a Date object.
* @param {string} scheduleDate A date from the feed e.g. 2016-07-11T17:00:00Z
* @return {!Date} The resulting Date object.
*/
function parseScheduleDate(scheduleDate) {
return new Date(
scheduleDate.replace(/-/g, '/').replace('T', ' ').replace('Z', ' GMT'));
}
/**
* Parses the schedule XML, identifying only English Premier League Soccer
* matches, as an example of selecting events on which to make Google Ads
* changes.
* @param {string} xmlText XML response body from a call to the soccer schedule
* API.
* @return {!Array.<!Object>} An array of object containing fixture info.
*/
function parseScheduleXml(xmlText) {
const fixtures = [];
const rootElement = XmlService.parse(xmlText).getRootElement();
// The namespace is required for accessing child elements in the schema.
const namespace = rootElement.getNamespace();
const scheduleElement = rootElement.getChild('schedule', namespace);
if (!scheduleElement) {
return fixtures;
}
const sportEventElements = scheduleElement.getChildren('sport_event', namespace);
for (let i = 0; i < sportEventElements.length; i++) {
const sportEventElement = sportEventElements[i];
const scheduled = sportEventElement.getAttribute('start_time').getValue();
const scheduledDate = parseScheduleDate(scheduled);
const contextElement = sportEventElement.getChild('sport_event_context', namespace);
const categoryElement = contextElement.getChild('category', namespace);
const country = categoryElement.getAttribute('name').getValue();
const competitionElement = contextElement.getChild('competition', namespace);
const tournamentName = competitionElement.getAttribute('name').getValue();
if (tournamentName === 'Premier League' && country === 'England') {
const competitorsElement = sportEventElement.getChild('competitors', namespace);
const competitorElements = competitorsElement.getChildren('competitor', namespace);
let homeTeamName = '';
let awayTeamName = '';
for (let j = 0; j < competitorElements.length; j++) {
const competitorElement = competitorElements[j];
const qualifier = competitorElement.getAttribute('qualifier').getValue();
const teamName = competitorElement.getAttribute('name').getValue();
if (qualifier === 'home') {
homeTeamName = teamName;
} else if (qualifier === 'away') {
awayTeamName = teamName;
}
}
fixtures.push({
date: scheduledDate,
homeTeam: homeTeamName,
awayTeam: awayTeamName
});
}
}
return fixtures;
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-07-15 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-07-15 (世界標準時間)。"],[],[]]