Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何创建通过Firebase云功能托管的Node.js代理服务器?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序,它使用YouTube API密钥在YouTube上搜索视频并在我的页面显示.我刚刚了解到向客户揭露任何秘密是不好的.因此,我正在虑的解决方案是让客户端向Firebase云功能发送请求.云功能将用作存储我的API密钥的代理,而不是将其存储在客户端中.

我该如何设置?

对于初学者,我尝试记录请求对象,但我收到一个神秘的错误消息.

@H_419_15@error: SUPERVISOR clientError { Error: Parse Error bytesParsed: 0,code: 'HPE_INVALID_METHOD' } connecTing=false,_hadError=false,bytesRead=193,fd= -1,reading=true,$ref=$,onread=function onread(nread,buffer) {

这是产生上述错误消息的客户端发送的GET请求

@H_419_15@https://localhost:5000/jpls-youtube-viewer/us-central1/HelloWorld?part=snippet&type=video&q=Linkin+Park

这是我的应用程序的回购:https://github.com/jpls93/jpls-youtube-viewer

这是托管网站:https://jpls-youtube-viewer.firebaseapp.com/

解决方法

我通过将客户端请求指向我的Firebase数据库URL解决了这个问题,然后让Firebase数据库URL对YouTube REST API URL发出请求并解析对我的客户端的响应.我有一个CORS的问题,但这只是通过允许访问控制源/方法解决

@H_419_15@exports.HelloWorld = functions.https.onrequest((request,responsE) => { var term = request.query.q; // See https://howtofirebase.com/firebase-cloud-functions-753935e80323 // why we're requiring it inside the function var YT_URL = "https://www.googleapis.com/youtube/v3/search"; const axios = require("axios"); axios .get(YT_URL,{ params: { part: "snippet",type: "video",key: require("./secret"),q: term } }) .then(YouTubeData => { response.set("Access-Control-Allow-Origin","*"); response.set("Access-Control-Allow-Methods","GET,POST"); response.status(200).send(YouTubeData.data.items); }) .catch(err => console.error(err)); });

大佬总结

以上是大佬教程为你收集整理的如何创建通过Firebase云功能托管的Node.js代理服务器?全部内容,希望文章能够帮你解决如何创建通过Firebase云功能托管的Node.js代理服务器?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。