雅虎天气 API 无法搜索变量
Posted
技术标签:
【中文标题】雅虎天气 API 无法搜索变量【英文标题】:Yahoo Weather API Not Being Able To Search Through Variables 【发布时间】:2018-10-31 15:00:00 【问题描述】:好的,所以这听起来是个奇怪的问题。我正在使用 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 =
部分
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:place 变量似乎有问题。你可以试试
console.log(`place: $place`);
在初始化查询之前,看看它有什么问题。它可能格式不正确(例如“Broomfield, Colorado”),或者根本不包含任何内容。
【讨论】:
【参考方案2】:除非您插入的变量在字符串中包含双引号,否则您必须自己将它们插入到格式字符串中。例如:
const query = new YQL(`SELECT * FROM weather.forecast WHERE woeid in (SELECT woeid FROM geo.places(1) WHERE text= "$place")`)
【讨论】:
以上是关于雅虎天气 API 无法搜索变量的主要内容,如果未能解决你的问题,请参考以下文章