Естественный язык
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Вычислить тональность фрагмента текста
/**
* Calculates a measure of sentiment for supplied ad text.
* See: https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#refresh_token_grant
* for details on configuring this script.
*
* e.g:
* initializeOAuthClient();
* const sentiment = getAdTextSentiment('Buy our cakes today!');
*
* NOTE: This script also requires the OAuth2 library to be pasted at the end,
* as obtained from https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library
*/
// Service account email, e.g. 'yyyy@yyyy-1234.iam.gserviceaccount.com'
const SERVICE_ACCOUNT = 'INSERT_SERVICE_ACCOUNT_EMAIL_HERE';
// Key taken from downloaded JSON key file
const KEY = '-----BEGIN ..... KEY-----\n';
let authUrlFetch;
// Call this function just once, to initialize the OAuth client.
function initializeOAuthClient() {
if (typeof OAuth2 === 'undefined') {
const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library';
throw Error('OAuth2 library not found. Please take a copy of the OAuth2 ' +
'library from ' + libUrl + ' and append to the bottom of this script.');
}
const tokenUrl = 'https://accounts.google.com/o/oauth2/token';
const scope = 'https://www.googleapis.com/auth/cloud-platform';
authUrlFetchApp =
OAuth2.withServiceAccount(tokenUrl, SERVICE_ACCOUNT, KEY, scope);
}
/**
* Retrieve the sentiment for a given piece of text.
* @param {string} adText The text to analyze.
* @return {Object} The results of the analysis.
*/
function getAdTextSentiment(adText) {
const body = {
document:{
type: 'PLAIN_TEXT',
content: adText
},
encodingType: 'UTF8'
};
// Natural Language API Sentiment URL
const url =
'https://language.googleapis.com/v1beta1/documents:analyzeSentiment';
const options = {
method: 'POST',
contentType: 'application/json',
payload: JSON.stringify(body)
};
const response = authUrlFetchApp.fetch(url, options);
const result = JSON.parse(response.getContentText());
if (result.documentSentiment) {
// return an object with 'polarity' and 'magnitude' properties.
return result.documentSentiment;
}
throw Error('No sentiment response returned');
}
// Paste in OAuth2 library here, from:
// https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library
/**
* Extracts entities for a piece of text.
* See: https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#refresh_token_grant
* for details on configuring this script.
*
* e.g:
* initializeOAuthClient();
* const entities = getAdTextEntities('Football stadiums in London');
*
* NOTE: This script also requires the OAuth2 library to be pasted at the end,
* as obtained from https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library
*/
// Service account email, e.g. 'yyyy@yyyy-1234.iam.gserviceaccount.com'
const SERVICE_ACCOUNT = 'INSERT_SERVICE_ACCOUNT_EMAIL_HERE';
// Key taken from downloaded JSON key file
const KEY = '-----BEGIN ..... KEY-----\n';
let authUrlFetch;
// Call this function just once, to initialize the OAuth client.
function initializeOAuthClient() {
if (typeof OAuth2 === 'undefined') {
const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library';
throw Error('OAuth2 library not found. Please take a copy of the OAuth2 ' +
'library from ' + libUrl + ' and append to the bottom of this script.');
}
const tokenUrl = 'https://accounts.google.com/o/oauth2/token';
const scope = 'https://www.googleapis.com/auth/cloud-platform';
authUrlFetchApp =
OAuth2.withServiceAccount(tokenUrl, SERVICE_ACCOUNT, KEY, scope);
}
/**
* Extracts entities for a given piece of text.
* @param {string} adText The text to analyze.
* @return {Object} The list of extracted entities.
*/
function getAdTextEntities(adText) {
const body = {
document:{
type: 'PLAIN_TEXT',
content: adText
},
encodingType: 'UTF8'
};
// Natural Language API Sentiment URL
const url =
'https://language.googleapis.com/v1beta1/documents:analyzeEntities';
const options = {
method: 'POST',
contentType: 'application/json',
payload: JSON.stringify(body)
};
const response = authUrlFetchApp.fetch(url, options);
const result = JSON.parse(response.getContentText());
console.log(result);
if (result.entities) {
// return a list of identified entities
return result.entities;
}
throw Error('No entities response returned');
}
// Paste in OAuth2 library here, from:
// https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-21 UTC.
[null,null,["Последнее обновление: 2025-08-21 UTC."],[[["\u003cp\u003eThese Google Ads scripts utilize the Natural Language API to analyze ad text.\u003c/p\u003e\n"],["\u003cp\u003eOne script calculates the sentiment (polarity and magnitude) of ad text.\u003c/p\u003e\n"],["\u003cp\u003eThe other script extracts entities from ad text, providing insights into key terms and topics.\u003c/p\u003e\n"],["\u003cp\u003eBoth scripts require initialization of an OAuth client for authentication and authorization to the API.\u003c/p\u003e\n"],["\u003cp\u003eUsers need to insert their service account email and key for secure API access.\u003c/p\u003e\n"]]],[],null,["# Natural Language\n\nCalculate the sentiment of a piece of text\n------------------------------------------\n\n```gdscript\n/**\n * Calculates a measure of sentiment for supplied ad text.\n * See: https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#refresh_token_grant\n * for details on configuring this script.\n *\n * e.g:\n * initializeOAuthClient();\n * const sentiment = getAdTextSentiment('Buy our cakes today!');\n *\n * NOTE: This script also requires the OAuth2 library to be pasted at the end,\n * as obtained from https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library\n */\n// Service account email, e.g. 'yyyy@yyyy-1234.iam.gserviceaccount.com'\nconst SERVICE_ACCOUNT = 'INSERT_SERVICE_ACCOUNT_EMAIL_HERE';\n// Key taken from downloaded JSON key file\nconst KEY = '-----BEGIN ..... KEY-----\\n';\n\nlet authUrlFetch;\n\n// Call this function just once, to initialize the OAuth client.\nfunction initializeOAuthClient() {\n if (typeof OAuth2 === 'undefined') {\n const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library';\n throw Error('OAuth2 library not found. Please take a copy of the OAuth2 ' +\n 'library from ' + libUrl + ' and append to the bottom of this script.');\n }\n const tokenUrl = 'https://accounts.google.com/o/oauth2/token';\n const scope = 'https://www.googleapis.com/auth/cloud-platform';\n authUrlFetchApp =\n OAuth2.withServiceAccount(tokenUrl, SERVICE_ACCOUNT, KEY, scope);\n}\n\n/**\n * Retrieve the sentiment for a given piece of text.\n * @param {string} adText The text to analyze.\n * @return {Object} The results of the analysis.\n */\nfunction getAdTextSentiment(adText) {\n const body = {\n document:{\n type: 'PLAIN_TEXT',\n content: adText\n },\n encodingType: 'UTF8'\n };\n\n // Natural Language API Sentiment URL\n const url =\n 'https://language.googleapis.com/v1beta1/documents:analyzeSentiment';\n const options = {\n method: 'POST',\n contentType: 'application/json',\n payload: JSON.stringify(body)\n };\n const response = authUrlFetchApp.fetch(url, options);\n const result = JSON.parse(response.getContentText());\n if (result.documentSentiment) {\n // return an object with 'polarity' and 'magnitude' properties.\n return result.documentSentiment;\n }\n throw Error('No sentiment response returned');\n}\n\n// Paste in OAuth2 library here, from:\n// https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library\n```\n\nExtract the entities from a piece of text\n-----------------------------------------\n\n```gdscript\n/**\n * Extracts entities for a piece of text.\n * See: https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#refresh_token_grant\n * for details on configuring this script.\n *\n * e.g:\n * initializeOAuthClient();\n * const entities = getAdTextEntities('Football stadiums in London');\n *\n * NOTE: This script also requires the OAuth2 library to be pasted at the end,\n * as obtained from https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library\n */\n// Service account email, e.g. 'yyyy@yyyy-1234.iam.gserviceaccount.com'\nconst SERVICE_ACCOUNT = 'INSERT_SERVICE_ACCOUNT_EMAIL_HERE';\n// Key taken from downloaded JSON key file\nconst KEY = '-----BEGIN ..... KEY-----\\n';\n\nlet authUrlFetch;\n\n// Call this function just once, to initialize the OAuth client.\nfunction initializeOAuthClient() {\n if (typeof OAuth2 === 'undefined') {\n const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library';\n throw Error('OAuth2 library not found. Please take a copy of the OAuth2 ' +\n 'library from ' + libUrl + ' and append to the bottom of this script.');\n }\n const tokenUrl = 'https://accounts.google.com/o/oauth2/token';\n const scope = 'https://www.googleapis.com/auth/cloud-platform';\n authUrlFetchApp =\n OAuth2.withServiceAccount(tokenUrl, SERVICE_ACCOUNT, KEY, scope);\n}\n\n/**\n * Extracts entities for a given piece of text.\n * @param {string} adText The text to analyze.\n * @return {Object} The list of extracted entities.\n */\nfunction getAdTextEntities(adText) {\n const body = {\n document:{\n type: 'PLAIN_TEXT',\n content: adText\n },\n encodingType: 'UTF8'\n };\n\n // Natural Language API Sentiment URL\n const url =\n 'https://language.googleapis.com/v1beta1/documents:analyzeEntities';\n const options = {\n method: 'POST',\n contentType: 'application/json',\n payload: JSON.stringify(body)\n };\n const response = authUrlFetchApp.fetch(url, options);\n const result = JSON.parse(response.getContentText());\n console.log(result);\n if (result.entities) {\n // return a list of identified entities\n return result.entities;\n }\n throw Error('No entities response returned');\n}\n\n// Paste in OAuth2 library here, from:\n// https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library\n```"]]