我从GET API调用Firebase数据库得到以下响应.它是嵌套的JSON对象.
我想name
使用JavaScript将每个嵌套对象的键的所有值都放到一个数组中
获取REST API响应:
{
"barID1": {
"address": "4 East Terrace, Sydney NSW 2000",
"appStoreURL": "http://itunes.apple.com/app/idXXXXXXXXX",
"description": “description text”,
"imgURLs": [ "Https:url1”, "https:url2”, "https:url3” ],
"lat": -34.810585,
"lon": 138.616739,
"name": "Africola",
"phone": "(08) 8223 3885",
"status": "active",
"venueImgURL": "https:url”
},
"barID2": {
"address": "138/140 Gouger St, Sydney NSW 2000",
"appStoreURL": "http://itunes.apple.com/app/idXXXXXXXXX",
"description": “description text”,
"imgURLs": [ "Https:url1”, "https:url2”, "https:url3” ],
"lat": -34.848082,
"lon": 138.599813,
"name": "Disco Mexico Taqueria",
"phone": "0416 855 108",
"status": "active",
"venueImgURL": "https:url”
} …
Run Code Online (Sandbox Code Playgroud) 我使用以下公式venue01
从 C 列中提取子字符串,问题是当 C 列中的值字符串较短时,它只提取值 1 我需要它在-
(破折号)之后直接提取任何东西,无论长度如何列 c 中的值文本
={"VenueID";ARRAYFORMULA(IF(ISBLANK(A2:A),"",RIGHT(C2:C,SEARCH("-",C2:C)-21)))}
Run Code Online (Sandbox Code Playgroud)
我收到了Firebase发来的一封电子邮件,告诉我我的安全规则是不安全的:任何用户都可以读/写您的数据库.
这怎么可能,我已经在下面指定.read
和.write
规则了.我错过了什么?任何帮助将非常感激.
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"venues-location": {
".indexOn": "g"
},
"users-compliments": {
"$uid":{
"$uid":{
".indexOn": ".value"
}
}
},
"users-invites": {
"$uid":{
"$uid":{
".indexOn": ".value"
}
}
},
"users-location": {
".indexOn": "g"
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现对所有 API 调用都需要 JWT 身份验证的 API 服务的使用。
我了解 JWT 令牌是什么以及它们是如何使用的,我的问题是我正在编写一个 Swift 应用程序并且无法弄清楚生成令牌的过程,以便我可以将它作为Bearer
API 调用中的一个附加。
为什么当我尝试在 registrationTokens 下获取 Firebase 子节点的值时出现以下错误:
数据库结构:
"fcmtokens" : {
"dBQdpR7l1WT2utKVxdX2" : {
"registrationTokens" : {
"O": ""c4PSCAUAg5s:Yw95DyVxwElE88LwX7"
}
}
}
Run Code Online (Sandbox Code Playgroud)
控制台输出:
类型错误:Object.values 不是函数
我部署到 Firebase Cloud Functions 的部分功能:
return admin.database().ref('/fcmtokens/' + toId + '/registrationTokens').once('value').then((userTok) => {
const registrationTokens = Object.values(userTok.val());
console.log('registrationTokens', registrationTokens
Run Code Online (Sandbox Code Playgroud)