Node.js 从应用程序名称获取应用程序guid-通过代码
我已经在CF空间上运行了节点应用程序mainapps,在这个节点应用程序中,我得到了部署在同一空间中的其他应用程序名称,我想从中得到应用程序guid,我该如何做 这是我尝试过的我尝试获取此空间中的所有应用程序并从guid搜索特定应用程序,但我得到了http 401-未经授权 知道如何从部署到CF的应用程序获取应用程序guid吗?假设我有应用程序名称 有更好的方法来实现这一点吗Node.js 从应用程序名称获取应用程序guid-通过代码,node.js,ibm-cloud,cloud-foundry,Node.js,Ibm Cloud,Cloud Foundry,我已经在CF空间上运行了节点应用程序mainapps,在这个节点应用程序中,我得到了部署在同一空间中的其他应用程序名称,我想从中得到应用程序guid,我该如何做 这是我尝试过的我尝试获取此空间中的所有应用程序并从guid搜索特定应用程序,但我得到了http 401-未经授权 知道如何从部署到CF的应用程序获取应用程序guid吗?假设我有应用程序名称 有更好的方法来实现这一点吗 您必须首先获取访问令牌,并将其传递到问题中的请求头中。 请参见下面将获取应用程序guid的示例: var request
您必须首先获取访问令牌,并将其传递到问题中的请求头中。 请参见下面将获取应用程序guid的示例:
var request = require('request-promise');
request({
"method":"POST",
"uri": "https://login.ng.bluemix.net/UAALoginServerWAR/oauth/token",
"json": true,
"headers": {
"content-type": "application/x-www-form-urlencoded",
"authorization": "Basic Y2Y6",
"accept": "application/json"
},
"form" : {
"grant_type": "password",
"username": "<your Bluemix id>",
"password": "<your Bluemix password>"
}
}).then(function(response) {
return response.access_token;
}).then(function(token) {
return request({
"method":"GET",
"uri": "https://api.ng.bluemix.net/v2/apps",
"qs": {
"q": "name:yourappname"
},
"json": true,
"headers": {
"accept": "application/json",
"authorization": "bearer " + token
}
}).then(function (response) {
console.log(response.resources[0].metadata.guid);
});
});
选中此项:
http://apidocs.cloudfoundry.org/272/apps/get_app_summary.html
使用httpclient API,您可以从任何语言获取应用程序名称。这是假设您使用的是Bluemix US South region。如果使用伦敦等不同地区,则必须调整登录和api服务器。
http://apidocs.cloudfoundry.org/272/apps/get_app_summary.html