首页 > 解决方案 > 雅虎天气 API 无法搜索变量

问题描述

好吧,所以这听起来像是一个奇怪的问题。我正在使用 yahoo 天气 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 =每个搜索查询的部分

任何帮助将不胜感激!

标签: apidiscordyqldiscord.jsyahoo-weather-api

解决方案


除非您插入的变量在字符串中包含双引号,否则您必须自己将它们插入到格式字符串中。例如:

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

推荐阅读