我有一个使用YouTube API密钥的应用程序,可以在YouTube上搜索视频并将其显示在我的页面上。我刚刚了解到,将任何秘密公开给客户端都是不好的。因此,我正在考虑的解决方案是让客户端将请求发送到Firebase云功能。云功能将充当代理,我的API密钥将存储在该代理中,而不是将其存储在客户端中。
如何设置?
对于初学者,我尝试记录该request对象,但收到一条神秘的错误消息。
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) {
Run Code Online (Sandbox Code Playgroud)
这GET是产生上述错误消息的客户端发送的请求
https://localhost:5000/jpls-youtube-viewer/us-central1/helloWorld?part=snippet&type=video&q=Linkin+Park
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序的仓库:https : //github.com/jpls93/jpls-youtube-viewer
https://nodejs.org/api/fs.html#fs_caveats表示,fs.watch(filename[, options][, listener])递归选项仅适用于OS X和Windows.
那么,怎样才能在Linux上实现呢?
我对不同的数组值进行了一系列测试:
测试:
x === 0
x === ''
x === false
x === undefined
x === NaN
x === null
x === []
x === {}
x == 0
x == ''
x == false
x == undefined
x == NaN
x == null
x == []
x == {}
Run Code Online (Sandbox Code Playgroud)
结果:
如果x是:
[NaN]
[false]
Run Code Online (Sandbox Code Playgroud)
它没有通过所有测试.
如果x是:
[null]
[]
[[]]
[[[yep, no matter how deep]]]
[undefined]
['']
Run Code Online (Sandbox Code Playgroud)
它通过:
x==0
x==''
x==false
Run Code Online (Sandbox Code Playgroud)
如果x是:
[0]
[{}]
Run Code Online (Sandbox Code Playgroud)
它过去了
x==0
x==false
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?是否有一个空数组[]严格等于(=== …
例如,我可以从集合 x 中删除文档 x,然后从集合 y 中删除文档 y,但是如果出现问题,则回滚所有内容。根据文档, DocumentationReference.delete() 基本上是删除文档的唯一方法。