【发布时间】:2017-06-26 07:10:52
【问题描述】:
我能够成功地调用 POSTMAN 到: /mfp/api/az/v1/token 和 /mfpadmin/management-apis/2.0/runtimes/mfp/applications
我正在获取从 /mfp/api/az/v1/token 收到的不记名令牌,并将其添加到 /mfp/applications 的授权标头中。
我收到来自两者的 200 响应,并从每个 API 获取预期信息。
然后,我选择从 POSTMAN 为每个有效的 API 调用复制 ajax 代码:
var getBasic = {
"async": true,
"crossDomain": true,
"url": "https://..../mfp/api/az/v1/token",
"method": "POST",
"headers": {
"authorization": "Basic YXBpYzptZnBhcGlj",
"grant_type": "client_credentials",
"cache-control": "no-cache",
"postman-token": "05a672e5-6141-fd6f-82e2-b282d68dce35",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
"grant_type": "client_credentials",
"scope": "settings.read"
}
}
$.ajax(getBasic).done(function (response) {
console.log(response);
var accessToken = response.access_token;
console.log(accessToken);
var settings = {
"async": true,
"crossDomain": true,
"url": "https://....:8445/mfpadmin/management-apis/2.0/runtimes/mfp/applications",
"method": "GET",
"headers": {
"authorization": "Bearer " + accessToken,
"cache-control": "no-cache"
}
}
console.log(settings);
$.ajax(settings).done(function (response) {
console.log("response: " + response.totalListSize);
});
});
但是,当我在我的 WebUI 中运行它时,我从 /token 收到 200 响应 但我从 /mfp/applications 得到 401(未授权)
为什么这在 postman 中有效,但在 Web UI (Chrome) 中无效?
【问题讨论】:
-
我认为您应该通过代码获取访问令牌,而不是简单地重复使用现有令牌。您是否尝试通过代码获取它? mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/…
-
我正在使用 getBasic 详细信息获取不记名令牌。当该调用完成时,我从响应中获取 access_token 并将其传递给设置变量(/mfp/applications)。
-
“我然后选择从邮递员那里复制 ajax 代码”是什么意思?
-
Postman 有一个“代码”按钮,您可以选择让它输出您需要的呼叫类型。然后我选择一个 JS AJAX 调用。
-
另请提及您尝试调用此代码的位置。在应用中还是在其他地方?
标签: ajax api ibm-mobilefirst postman mobilefirst-server