Yahoo Weather API 无法搜索变量

Yahoo Weather API Not Being Able To Search Through Variables

好吧,这听起来像是个奇怪的问题。我正在使用 yahoo weather API 和 discord.js 来制作天气命令。我使用 YQL 和 WOIED 来尝试让某人输入他们想要搜索的位置。这是变量搜索:

const query = new YQL(`SELECT * FROM weather.forecast WHERE woeid in (SELECT woeid FROM geo.places(1) WHERE text= ${place})`)

当我使用变量输入时,它不起作用,并且会给我这个错误:

Cannot read property 'results' of undefined

现在,当我手动输入想看的地方时,它起作用了。这就是我的意思:

const query = new YQL(`SELECT * FROM weather.forecast WHERE woeid in (SELECT woeid FROM geo.places(1) WHERE text= "Broomfield, Co")`)

请注意,我主要强调每个搜索查询的 WHERE text = 部分

如有任何帮助,我们将不胜感激!

place 变量好像有问题。你可以试试

console.log(`place: ${place}`);

在初始化查询之前查看它有什么问题。它可能格式不正确(例如 "Broomfield, Colorado"),或者它可能根本不包含任何内容。

除非您要插入的变量将双引号作为字符串的一部分,否则您必须自己将它们插入到格式字符串中。例如:

const query = new YQL(`SELECT * FROM weather.forecast WHERE woeid in (SELECT woeid FROM geo.places(1) WHERE text= "${place}")`)