与外部服务通信:内部服务器错误 500
Communicating with an external service: internal server error 500
我正在尝试向 HTTPS 服务 (https://broker.bronos.net) 发出 GET 请求。此服务是一个 API,可与我的 LAN 上的客户端通信。我无法通过 functions.https.get(URL, (s,ss) => {});
让它工作
请帮忙 -- 我对网络开发还很陌生,更不用说 google 操作了。
我使用 apiai-starter-app 作为基础,在我添加 returns 内部服务器错误 500.
之前,它的功能非常好
注意:我在向项目添加计费之前和之后都尝试过。都不行。
编辑:
使用这个
const https = require('https');
https.get('https://broker.bronos.net/v1/CLIENT_ID/ROOM_NAME/ACTION/PARAM', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
if (requestSource === googleAssistantRequest) {
sendGoogleResponse(JSON.parse(data).explanation); // Send simple response to user
} else {
sendResponse(JSON.parse(data).explanation); // Send simple response to user
}
});
}).on("error", (err) => {
if (requestSource === googleAssistantRequest) {
sendResponse("Error: " + err.message); // Send simple response to user
} else {
sendResponse("Error: " + err.message); // Send simple response to user
}
});
Firebase 的函数对免费层上的外部 API 的访问权限有限。通过升级到 Blaze or Flame plans,您将能够进行外部 API 调用。
启用 Firebase Blaze 计划 + 以下代码有效
const https = require('https');
https.get('https://broker.bronos.net/v1/CLIENT_ID/Living%20Room/volume/20', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
if (requestSource === googleAssistantRequest) {
sendGoogleResponse(JSON.parse(data).explanation); // Send simple response to user
} else {
sendResponse(JSON.parse(data).explanation); // Send simple response to user
}
});
}).on("error", (err) => {
if (requestSource === googleAssistantRequest) {
sendResponse("Error: " + err.message); // Send simple response to user
} else {
sendResponse("Error: " + err.message); // Send simple response to user
}
});
我正在尝试向 HTTPS 服务 (https://broker.bronos.net) 发出 GET 请求。此服务是一个 API,可与我的 LAN 上的客户端通信。我无法通过 functions.https.get(URL, (s,ss) => {});
请帮忙 -- 我对网络开发还很陌生,更不用说 google 操作了。
我使用 apiai-starter-app 作为基础,在我添加 returns 内部服务器错误 500.
之前,它的功能非常好注意:我在向项目添加计费之前和之后都尝试过。都不行。
编辑: 使用这个
const https = require('https');
https.get('https://broker.bronos.net/v1/CLIENT_ID/ROOM_NAME/ACTION/PARAM', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
if (requestSource === googleAssistantRequest) {
sendGoogleResponse(JSON.parse(data).explanation); // Send simple response to user
} else {
sendResponse(JSON.parse(data).explanation); // Send simple response to user
}
});
}).on("error", (err) => {
if (requestSource === googleAssistantRequest) {
sendResponse("Error: " + err.message); // Send simple response to user
} else {
sendResponse("Error: " + err.message); // Send simple response to user
}
});
Firebase 的函数对免费层上的外部 API 的访问权限有限。通过升级到 Blaze or Flame plans,您将能够进行外部 API 调用。
启用 Firebase Blaze 计划 + 以下代码有效
const https = require('https');
https.get('https://broker.bronos.net/v1/CLIENT_ID/Living%20Room/volume/20', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
if (requestSource === googleAssistantRequest) {
sendGoogleResponse(JSON.parse(data).explanation); // Send simple response to user
} else {
sendResponse(JSON.parse(data).explanation); // Send simple response to user
}
});
}).on("error", (err) => {
if (requestSource === googleAssistantRequest) {
sendResponse("Error: " + err.message); // Send simple response to user
} else {
sendResponse("Error: " + err.message); // Send simple response to user
}
});