gpt4 book ai didi

javascript - 如何从 youtube api 获取值?

转载 作者:行者123 更新时间:2023-12-01 01:40:08 27 4
gpt4 key购买 nike

我正在构建一个聊天机器人,它根据用户的询问检索 YouTube 链接。我使用 Dialogflow 作为机器人,并使用 Nodejs 进行编码。

现在,一切正常,但我的问题是从 API 响应中检索链接。使用console.dir(results),显示以下内容:响应如下所示:

[ { id: 'gWNUg_v25dw',
link: 'https://www.youtube.com/watch?v=gWNUg_v25dw',
kind: 'youtube#video',
publishedAt: '2017-08-24T14:00:11.000Z',
channelId: 'UCDZ56yQ05d_ikcwcTG9bAiA',
channelTitle: 'Code to Create',
title: 'How to make a Chatbot with Dialogflow - API.ai',
description: 'In this video, Google Developer Expert, Faisal Abid will show us how to create a chatbot with Google\'s latest API.ai API.ai can be integrated with multiple chat ...',
thumbnails: { default: [Object], medium: [Object], high: [Object] } } ]

我尝试使用 results.link 来检索链接,但我未定义,所以我的问题是如何从响应 block 中检索链接?

search(txt1, opts, function(err, results) {
//var data1 = JSON.parse(results);
//srchRes = data1.link;
if(err) return console.log(err);


console.dir(results);
});

取消上面两行的注释,console.dir(srchRes) 会返回此错误:

SyntaxError: Unexpected token u in JSON at position 0

最佳答案

我们没有您的 API 调用代码逻辑,因此从这里开始,我们只能假设 结果 是 API 的响应,并给出了有关响应的示例,然后我们看到 results 是一个对象数组。

  • JSON.parse实际上反序列化一个字符串,该字符串表示给定 JSON 格式的对象。
  • JSON.stringify相反,它将您的对象序列化为 JSON 格式的字符串。

您的目标是访问数组特定对象的link属性,这就是为什么 JSON.parse(结果) 没有任何意义。

您应该能够通过简单地迭代对象结果数组来访问每个对象的链接属性

for (const result of results) {
console.log(`the link : ${result.link}`)
}

关于javascript - 如何从 youtube api 获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52495273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com