Укажите версию API, используя расширенную службу в скриптах Google Apps?
Мне нужно использовать версию 2.1 Content API в моем скрипте, однако я не уверен, как передать номер версии.
Вот соответствующая часть кода:
var products = ShoppingContent.Products.list(merchantId, {
pageToken: pageToken,
maxResults: maxResults,
includeInvalidInsertedItems: true
});
Я пытался пройти version: 2.1
но без сигары
Спасибо
1 ответ
Версия для конкретной клиентской библиотеки указывается только при включении определенной расширенной службы. Не все версии поддерживаются всеми клиентскими библиотеками, например Drive
расширенный сервис не поддерживает конечные точки v3.
Для ShoppingContent
Клиентская библиотека Apps Script обеспечивает привязки только к версии 2:
Таким образом, для использования v2.1 вам нужно будет рассматривать API-интерфейс Shopping Content как внешний API-интерфейс и обращаться к нему с помощью UrlFetchApp
, Вам нужно будет авторизовать запросы соответствующим образом, создав собственный заголовок авторизации OAuth2 с ScriptApp.getOAuthToken()
метод, например:
function addAuthHeader(headers) {
var token = ScriptApp.getOAuthToken();
headers['Authorization'] = 'Bearer ' + token;
}
function getBaseURI(version) {
return 'https://www.googleapis.com/content/' + version + '/';
}
function listProducts(merchantId, pageToken) {
const base = getBaseURI('v2.1');
const path = merchantId + '/products';
if (pageToken)
path + '?pageToken=' + pageToken;
const headers = {
/* whatever you need here */
};
addAuthHeader(headers);
const fetchOptions = {
method: 'GET',
/* whatever else you need here
https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetchurl-params
*/
headers: headers
};
var pageResponse = UrlFetchApp.fetch(base + path, fetchOptions);
var onePageOfResults = JSON.parse(pageResponse.getContentText());
/* whatever else */
}