- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在与 Wit.ai 合作 webpage in CodePen.io .我想知道是否可以使用 HTTP API 检索 Wit.ai 机器人的文本响应(“Bot says”)。
例如:如果用户要提示机器人:
How's it going?
我希望在使用此消息进行 API 调用后,能够检索机器人的典型响应:
I am well, thank you human.
我已经查看了 HTTP API Documentation .这似乎是使用对 api.wit.ai/converse 的“POST”来完成的。 JSON 响应包含一个“msg”字段,这正是我所需要的!这是我目前使用的代码:
$.ajax({
url: baseUrl + "converse",
data: {
'q': text, // The message to send the bot
'session_id': "123abc",
'access_token' : accessToken // Authorisation key for using our bot
},
dataType: 'json',
crossDomain: true,
method: 'POST',
success: function(data) {
prepareResponse(data);
},
error: function() {
respond(messageInternalError);
}
});
但是Wit.Ai目前不支持CORS,跨域请求只能使用JSONP,它只对GET请求有效。正如所料,上面的代码会导致 HTTP 400 错误。
谁能确认是否可以使用 HTTP API 检索机器人对用户消息的文本响应?我目前正在做的事情有变通办法吗?
1 Câu trả lời
我最近遇到了同样的问题。为了成功地进行对话,我必须先创建一个本地服务器,它将处理所有用户请求并将它们发送到 Wit 的服务器。
使用了 node.js
,express
,nodemon
Và sync-request
.
这是 server.js 文件:
var express = require('express')
var request = require('sync-request');
var port = 8001;
var app = express()
app.get('/converse', function (req, res) {
res.header("Kiểm soát truy cập-Cho phép-Nguồn gốc", "*");
res.header("Kiểm soát-Cho phép-Tiêu đề-Truy cập", "Yêu cầu-X-Với");
var message = req.query.q;
var sessionID = req.query.session_id;
var response = request('POST', 'https://api.wit.ai/converse?q=' + message + '&session_id=' + sessionID, {
'headers': {
'Content-Type': 'application/json; charset=utf8',
"Accept": "application/json",
"Authorization": "Bearer $place-app-token"
}
});
res.send(JSON.parse(response.getBody('utf8')));
})
app.listen(port);
服务器将发送一个 BƯU KIỆN
请求,其中包含 Wit 需要的 headers
配置。
用户将向本地服务器发送一个LẤY
请求。按照文档中的建议使用了 jQuery
:https://wit.ai/docs/http/20160526#cross-domain-link
这是前端请求:
$.ajax({
url: 'http://127.0.0.1:8001/converse',
data: {
'q': text,
'session_id': sessionID
},
method: 'GET',
crossDomain: true,
success: function(response) {
console.log(response, response.msg);
}
});
关于wit.ai - 使用跨域 HTTP API 检索 Wit.ai 机器人文本响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40394380/
Tôi đã thiết lập dịch vụ Quản lý API Azure và định cấu hình nó trên một miền tùy chỉnh. Trong phần Cấu hình của dịch vụ Quản lý API trong cổng thông tin Azure, tôi đã thiết lập những thông tin sau: Vì đây là hệ thống máy khách nên tôi phải ẩn các thông tin chi tiết, nhưng sau đây là những thông tin cơ bản:
Tôi là một lập trình viên mới đang làm quen với React Native. Gần đây tôi mới bắt đầu tìm hiểu về Fetch API và cách thức hoạt động của nó. Vấn đề của tôi là tôi không thể tìm thấy bất kỳ ví dụ nào về những người sử dụng khóa API để truy cập thông tin trong câu lệnh get của họ (tôi đang gặp khó khăn trong việc diễn đạt những gì đang diễn ra).
Có rất nhiều thông tin ở đây về API, nhưng tôi không thể tìm thấy thông tin tôi cần về sự khác biệt giữa API plugin và API thư viện. Dù sao thì tôi cũng không hiểu. Trong cuốn sách Documenting APIs, tôi đã đọc: Plugin API và Library API
đóng cửa. Câu hỏi này không đáp ứng được hướng dẫn của Stack Overflow. Hiện tại câu hỏi này không chấp nhận câu trả lời. Bạn muốn cải thiện vấn đề này? Cập nhật câu hỏi để nó phù hợp với chủ đề của Stack Overflow. Đã đóng cửa cách đây 7 năm. Cải thiện điều này
Tôi đang cố gắng tìm ra cách tốt nhất để thiết kế tình huống sau. Giả sử tôi đã triển khai một REST API sẽ lấy sách từ nhiều nhà cung cấp khác nhau và trả về cho máy khách của tôi. Mỗi nhà cung cấp cung cấp một API riêng để cung cấp sách cho người tiêu dùng.
Có ai vui lòng giải thích cho tôi cách sử dụng khóa API và nó có tác dụng gì không? Tôi đã tìm kiếm rất nhiều về vấn đề này nhưng lại nhận được nhiều câu trả lời khác nhau và mâu thuẫn nhau. Một số người cho rằng khóa API được giữ bí mật và không bao giờ được gửi trong quá trình giao tiếp, trong khi những người khác lại gửi nó cho khách hàng.
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để bạn có thể trả lời bằng thông tin thực tế và trích dẫn bằng cách chỉnh sửa bài đăng này. Đã đóng 4 năm trước. Cải thiện điều này
Có ai có thể cho tôi biết tại sao WSo2 API Manager không xác thực được không? Tôi đã thiết lập hai phiên bản WSo2 API Manager 1.8.0 và tạo một api. Nó hoạt động tốt như một api nguyên mẫu.
Tôi tình cờ biết đến Fluent API khi đang học DSL. Tôi đã tìm kiếm rất nhiều về Fluent API... Kết luận cơ bản mà tôi có thể rút ra là Fluent API sử dụng chuỗi phương thức để làm cho mã trở nên trôi chảy. Nhưng tôi không thể hiểu - trong các ngôn ngữ hướng đối tượng, chúng ta
Về cơ bản, tôi quan tâm đến việc thiết lập WSO2 API Manager ở nhiều khu vực; ví dụ như Châu Á, Hoa Kỳ và Châu Âu. Một số API sẽ được triển khai tại các trung tâm dữ liệu ở mỗi khu vực, trong khi một số API khác chỉ được triển khai tại các khu vực cụ thể. Lý tưởng nhất là tôi muốn một cái duy nhất
Tôi đang xây dựng API của riêng mình sẽ được sử dụng bởi: 1) Ứng dụng Android 2) Ứng dụng máy tính Một trong những URL của tôi là: http://api.chatapp.info/order_api/files/getbeers.php
Tôi cần hiển thị số liệu phân tích về trang web của mình cho tất cả người dùng, nhưng khi sử dụng OAuth, nó sẽ hiển thị số liệu phân tích cho trang web được cấu hình cho người dùng đã đăng nhập. Làm thế nào tôi có thể sử dụng API nhúng để triển khai bảng thông tin nhưng chỉ hiển thị số liệu phân tích trang web của mình? Khả năng tốt nhất tôi có thể nghĩ đến là sử dụng khóa API thay vì khóa máy khách.
Tôi đang nghiên cứu cách các công ty lớn quản lý API công khai của họ. Tôi đang nghĩ đến các công ty có API hoàn thiện như Google, Facebook, Twitter và Amazon. Các công ty này tiết lộ nhiều A khác nhau
Sau đây là thông lệ được ngành ưa chuộng khi xác định API có thể truy cập được bởi khách hàng: a) Xác định một tập hợp các phương thức API rõ ràng, mỗi phương thức có mục đích rất hẹp và cụ thể, ví dụ: SetUserName SetUserAge SetUserAge
Điều này xảy ra cả khi triển khai tại địa phương và khi thực hiện nhiệm vụ. Tôi đã có thể sử dụng thành công API Explorer thông qua hướng dẫn trong Guestbook, nhưng bây giờ tôi đã tạo dự án riêng và đang cố gắng truy cập API đầu tiên tôi đã viết, nhưng nó không bao giờ hiển thị. "Đang tải" màu vàng
Tôi đang cố gắng lấy kinh độ và vĩ độ bằng địa chỉ IP của mình thông qua api http://ip-api.com/. Khi tôi truy cập http://ip-api.com/json từ trình duyệt của tôi hoặc sử dụng curl, nó trả về định dạng json
Ví dụ điển hình ở đây là API của Twitter. Về mặt khái niệm, tôi hiểu cách thức hoạt động của REST API, về cơ bản nó chỉ truy vấn máy chủ để lấy yêu cầu cụ thể của bạn và bạn sẽ nhận được phản hồi dưới dạng (JSON, XML, v.v.), điều này thật tuyệt. Nhưng
Tiêu đề hay nhất mà tôi có thể nghĩ ra, nhưng để làm rõ, tình hình như sau: Tôi đang phát triển một dịch vụ giống như url ngắn cho phép người dùng "đăng nhập" bằng tài khoản Twitter của họ và đăng bài. Bây giờ dịch vụ này có thể được đưa vào Tweetdeck
Tôi đang thiết kế một giải pháp API để quản lý bình luận và chủ đề thảo luận. Tôi muốn nêu một điểm /discussions/:discussionId khi bạn GET nó sẽ trả về một tập hợp các bình luận và một số siêu dữ liệu. Bình luận có thể được truy cập riêng tại /discus
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại, câu hỏi này không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để tập trung vào một câu hỏi duy nhất bằng cách chỉnh sửa bài đăng này. Đóng vào năm ngoái. Cải thiện nhiệm vụ này
Tôi là một lập trình viên xuất sắc, rất giỏi!