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