Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有用于与Heroku API交互的示例气体代码?_Heroku_Google Apps Script - Fatal编程技术网

是否有用于与Heroku API交互的示例气体代码?

是否有用于与Heroku API交互的示例气体代码?,heroku,google-apps-script,Heroku,Google Apps Script,我需要从应用程序脚本以编程方式更改Heroku配置变量 我有Heroku平台API参考,包括关于OAuth的信息,但我没有足够的经验从零开始编写GoogleApps脚本代码,一个示例实现将非常有用 谢谢。幸运的是,它没有最初看起来那么复杂——这在很大程度上是因为OAuth不是必需的,只是他们页面上Heroku的一个API密钥 使用这些功能,您可以获取Bear的所有Heroku应用程序的信息,包括它们的名称和ID,这些名称和ID随后可用于获取应用程序的所有配置变量,或修改/删除其中一些配置变量。?

我需要从应用程序脚本以编程方式更改Heroku配置变量

我有Heroku平台API参考,包括关于OAuth的信息,但我没有足够的经验从零开始编写GoogleApps脚本代码,一个示例实现将非常有用


谢谢。

幸运的是,它没有最初看起来那么复杂——这在很大程度上是因为OAuth不是必需的,只是他们页面上Heroku的一个API密钥


使用这些功能,您可以获取Bear的所有Heroku应用程序的信息,包括它们的名称和ID,这些名称和ID随后可用于获取应用程序的所有配置变量,或修改/删除其中一些配置变量。

?我尝试过。他们似乎都没有帮助。也尝试过谷歌一般-也没有运气。有潜力,但不包括HerokuSo的样本尝试创建一个样本,将这些样本用作练习,并在遇到绊脚石时提出一个问题,你无法解决。我想,这个问题不是为了一个主观的建议,这种建议往往会吸引自以为是的答案。也许这太模糊了,因为两周前我还没有更具体的知识。
HEROKU_ADDRESS = 'https://api.heroku.com/apps';

function getApps() {
  // Get all apps of Bearer, including their IDs and names. Either ID or name can be used later on as APP_ID.
  var options = {
    'method' : 'get',
    'headers' : {
      'Accept': 'application/vnd.heroku+json; version=3',
      'Authorization': 'Bearer '+ HEROKU_API_KEY
    },
  };
  var response = UrlFetchApp.fetch(HEROKU_ADDRESS, options);  
  Logger.log(response.getContentText());
}

function getConfigVars() {
  // Get all config-vars of App
  var options = {
    'method' : 'get',
    'headers' : {
      'Accept': 'application/vnd.heroku+json; version=3',
      'Authorization': 'Bearer '+ HEROKU_API_KEY
    },
  };
  var response = UrlFetchApp.fetch(HEROKU_ADDRESS+'/' + APP_ID +'/config-vars', options);  
  Logger.log(response.getContentText());
}

function updateConfigVars(newConfigVars) {
  // Set/Update some config-vars of App
  // returns all config-vars
  var options = {
    'method' : 'patch',
    'headers' : {
      'Accept': 'application/vnd.heroku+json; version=3',
      'Authorization': 'Bearer '+ HEROKU_API_KEY,
      'Content-Type': 'application/json'
    },
    'payload': JSON.stringify(newConfigVars)
  };
  var response = UrlFetchApp.fetch(HEROKU_ADDRESS+'/' + APP_ID +'/config-vars', options);  
  Logger.log(response.getContentText());
}

function delConfigVar(ConfigVarName) {
  // Delete a config-var of App (set to null)
  // returns all remaining config-vars
  var ConfigVar2del = {};
  ConfigVar2del[ConfigVarName] = null;
  var options = {
    'method' : 'patch',
    'headers' : {
      'Accept': 'application/vnd.heroku+json; version=3',
      'Authorization': 'Bearer '+ HEROKU_API_KEY,
      'Content-Type': 'application/json'
    },
    'payload': JSON.stringify(ConfigVar2del)
  };
  var response = UrlFetchApp.fetch(HEROKU_ADDRESS+'/' + APP_ID +'/config-vars', options);  
  Logger.log(response.getContentText());
}

function del() {
  delConfigVar('name');
}

function update() {
  var newConfigVars = {
    'name': 'some value',
    'test': 770
  };
  updateConfigVars(newConfigVars);
}