gpt4 book ai didi

javascript - 如何通过 Swagger 或 Ajax 将数据发送到 Presence Insights 连接器 API?

转载 作者:行者123 更新时间:2023-12-03 07:45:36 24 4
gpt4 key购买 nike

2016 年 2 月 19 日更新 - 见下文

我正在构建一个用于近距离营销的混合移动应用程序(即将与信标交互的移动应用程序),并且我想使用 Bluemix Presence Insights Service 来收集数据。问题是我无法通过 SDK 连接,因为它是一个混合应用程序,因此我需要使用 connectors API 。我做了一些尝试,但仍然收到 401 响应。

我尝试过Ajax call setting the Basic Autentication Headers :

beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
},

beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic <my encrypted token>");
},

headers: {
"Authorization": "Basic " + btoa(USERNAME + ":" + PASSWORD)
},

(也使用加密 token ,我不会重写它)。

然后我制作了一个 Node.js 服务器并安装了 swagger-client (即我改变了策略):

router.post('/', function (req, res, next) {
var json = req.body.json;
var client = new Swagger({
url: 'https://presenceinsights.ibmcloud.com/pi-swagger/the-connector-api',
success: function () {
console.log("success");
console.log(JSON.stringify(client));
},
authorizations : {
easyapi_basic: new Swagger.PasswordAuthorization('username', 'password')
}

});

res.end();
});

这次我取得了进步:

我可以成功连接,但无法发送带有数据的 JSON。无法访问swagger.json如何声明 post 请求的正文?有什么办法可以访问 swagger.json存在洞察力(这个东西会解决我所有的问题)?

更新在与 Presence Insights 支持交换信息后,我可以说调用 Swagger 客户端是不可行的。将该服务与混合应用程序一起使用的唯一方法是构建一个代理 Blumix 运行时,它将数据从混合应用程序转发到 Presence Insights 服务。不允许使用外部服务器或调用应用程序内的 API 进行任何其他尝试,因为 CORS 策略不允许这样做。对于连接器和管理来说也是如此。

我写这篇文章是为了将来引用。

最佳答案

您输入的端点 URL 必须是 swagger 定义或 swagger 规范的位置。加载后,您可以调用 API。请注意,您正在初始化的 swagger 客户端将根据该定义动态创建函数。

现在,稍微研究一下,我确实看到 swagger 定义实际上可用于此服务:

https://presenceinsights.ibmcloud.com/pi-swagger/swagger.json

将其放入客户端后,从技术上讲您就可以对服务器进行调用。

但是,此服务存在问题。 swagger 定义看起来无效,因此无法使用 javascript 客户端。例如:

https://online.swagger.io/validator/debug?url=https://presenceinsights.ibmcloud.com/pi-swagger/swagger.json

显示许多错误。我可能错误地使用了该服务中的 swagger.json(我确实嗅出了它),但我指出的——在构建客户端时使用定义——就是这个库的工作原理。

关于javascript - 如何通过 Swagger 或 Ajax 将数据发送到 Presence Insights 连接器 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35220486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com