Node.js 从应用程序名称获取应用程序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

我已经在CF空间上运行了节点应用程序mainapps,在这个节点应用程序中,我得到了部署在同一空间中的其他应用程序名称,我想从中得到应用程序guid,我该如何做

这是我尝试过的我尝试获取此空间中的所有应用程序并从guid搜索特定应用程序,但我得到了http 401-未经授权

知道如何从部署到CF的应用程序获取应用程序guid吗?假设我有应用程序名称

有更好的方法来实现这一点吗


您必须首先获取访问令牌,并将其传递到问题中的请求头中。 请参见下面将获取应用程序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