Yahoo Weather API无法通过变量搜索

时间:2018-05-21 22:54:33

标签: api discord yql discord.js yahoo-weather-api

好吧,所以这听起来像一个奇怪的问题。我正在使用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 =部分

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

看起来place变量有问题。你可以试试

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

在初始化查询之前,看看它有什么问题。它可能格式不正确(例如“布鲁姆菲尔德,科罗拉多”),或者根本不包含任何内容。