Apps Scripts execution

Execute a function

/**
 * Executes an Apps Script function in a remote Apps Script.
 * See: https://developers.google.com/adwords/scripts/docs/features/third-party-apis#refresh_token_grant
 * for details on configuring this script.
 *
 * NOTE: This script also requires the OAuth2 library to be pasted at the end,
 * as obtained from https://developers.google.com/adwords/scripts/docs/examples/oauth20-library
 */
var CLIENT_ID = 'INSERT_CLIENT_ID';
var CLIENT_SECRET = 'INSERT_CLIENT_SECRET';
var REFRESH_TOKEN = 'INSERT_REFRESH_TOKEN';
// Enter scopes which should match scopes in File > Project properties
// For this project, e.g.: https://www.googleapis.com/auth/drive
var SCOPES = 'ENTER_SPACE_DELIMITED_SCOPES';
// Script ID taken from 'File > Project Properties'
var SCRIPT_ID = 'ENTER_SCRIPT_ID';

var authUrlFetch;

// Call this function just once, to initialize the OAuth client.
function initializeOAuthClient() {
  if (typeof OAuth2 === 'undefined') {
    var libUrl = 'https://developers.google.com/adwords/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.');
  }
  var tokenUrl = 'https://accounts.google.com/o/oauth2/token';
  authUrlFetch = OAuth2.withRefreshToken(tokenUrl, CLIENT_ID, CLIENT_SECRET,
    REFRESH_TOKEN, SCOPES);
}

/**
 * Execute a remote function.
 * @param {string} remoteFunctionName The name of the function to execute.
 * @param {Object[]} functionParams An array of JSON objects to pass to the
 *     remote function.
 * @return {?Object} The return value from the function.
 */
function executeRemoteFunction(remoteFunctionName, functionParams) {
  var apiParams = {
    'function': remoteFunctionName,
    'parameters': functionParams
  };
  var httpOptions = {
    method: 'POST',
    headers: {
      'Content-Type:': 'application/json'
    },
    payload: JSON.stringify(apiParams)
  };
  var url = 'https://script.googleapis.com/v1/scripts/' + SCRIPT_ID + ':run';
  var response = authUrlFetch.fetch(url, httpOptions);
  var data = JSON.parse(response.getContentText());
  // Retrieve the value that has been returned from the execution.
  if (data.error) {
    throw Error('There was an error: ' + response.getContentText());
  }
  return data.response.result;
}

// Paste in OAuth2 library here, from:
// https://developers.google.com/adwords/scripts/docs/examples/oauth20-library

发送以下问题的反馈:

此网页
AdWords Scripts
AdWords Scripts
需要帮助?请访问我们的支持页面