Sending data to Firebase database from Javascript - javascript

I am very new in javascript and Firebase Database, and I cant quite comprehend how to send data to my database from it. I am sending data from an html document and I know how to record the information in to a variable, but now I want to send it to firebase and I dont know how to initialize the Firebase Database from Javascript. Thank you.

You need to use JavaScript SDK of Firebase.
Configure you app first.
<script src="https://www.gstatic.com/firebasejs/4.5.0/firebase.js"></script>
<script>
// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
storageBucket: "<BUCKET>.appspot.com",
messagingSenderId: "<SENDER_ID>",
};
firebase.initializeApp(config);
</script>
To read data:
firebase.database().ref('/list').once('value').then(function(data) {
// ...
});
read this documentation for more details:
Add Firebase to your JavaScript Project

Related

I am seeing following error while trying to add firebase analytics

I have linked firebase analytics to the firebase project recently but I am getting the following error in my console and nothing is visible in the firebase analytics Dashboard even.
[2022-04-11T06:07:13.736Z] #firebase/analytics: The measurement ID in the local
Firebase config (G-XXXXXXXXX) does not match the measurement ID fetched from the
server (undefined). To ensure analytics events are always sent to the correct Analytics
property, update the measurement ID field in the local config or remove it from the
local config.
This is how I am adding analytics
const firebaseConfig = {
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "*****************",
projectId: "********",
storageBucket: "*********",
messagingSenderId: "********",
appId: "*******************************",
measurementId: "G-XXXXXXXXX"
};
const app = firebase.initializeApp(firebaseConfig)
const auth = getAuth(app)
const db = getFirestore(app)
firebase.analytics()
const analytics = getAnalytics(app);
console.log(analytics)
Can anyone help what exactly I am missing? Any help is appreciated.
If anyone sees this error, then in my case issue was I have implemented firebase analytics after creating the project not while creating. SO it took 24 hours to reflect. And after 24 hours everything was working.

Why my data is not store in firebase database

Here is the whole html and javascript code.
After submiting also my firebase is not showing anydata plzz help....
Enter any number
enter e-mail
enter nick-name
Submit
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-app.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-analytics.js"></script>
<script>
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "AIzaSyALexu52pRX3m0nL92qSNcl9t2ohhIzAS4",
authDomain: "just-demo-373a2.firebaseapp.com",
databaseURL: "https://just-demo-373a2.firebaseio.com",
projectId: "just-demo-373a2",
storageBucket: "just-demo-373a2.appspot.com",
messagingSenderId: "834837235468",
appId: "1:834837235468:web:f3dbef999d51d15612ab29",
measurementId: "G-FEJBSGENTD"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
Here is the javascript.
function button(){
firebase.database().ref("user").set({
userid:document.getElementById("userID").value,
useremail:document.getElementById("email").value,
username:document.getElementById("name").value
});
}
what should I do?
I created a fiddle for this at: https://jsfiddle.net/raddevus/sqm3og1r/5/
When I click the Test button (I added) I see an error in the console that states:
firebase.database is not a function
Is that a valid call. The initialize seems to be running, but not that database call.

Firebase Storage Downloading Image CORS error [JavaScript] [duplicate]

This question already has an answer here:
Firebase - Request header field x-firebase-gmpid is not allowed by Access-Control-Allow-Headers in preflight response
(1 answer)
Closed 2 years ago.
When I run the code below, I got CORS error and any help would be greatly appreciated. Thanks
I tried a few answers in this topic here in StackOverflow but nothing helped me.
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "**********",
authDomain: "********",
databaseURL: "********",
projectId: "********",
storageBucket: "********",
messagingSenderId: "********",
appId: "********",
measurementId: "********"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
var storage = firebase.storage();
var storageRef = storage.ref('image');
var starRef = storageRef.child('image1.jpg');
starRef.getDownloadURL().then(url => {
console.log(url);
})
Your calls to Firebase should be done server-side. Your server acts as a kind of pass-through. 2 reasons:
The browser prevents you from getting data from any server but your own
In order to call Firebase from the client side you have to have your credentials on the client side, which is seriously risky.
So from the client side call /images/image1.jpg
And from the server call Firebase and send the image1 back to the browser.
It's a lot of work, but that's the right way.

Firebase invalid api key error in console

I use Firebase-auth for my web application I'm developing with electron framework. I created an API key using project settings, and copied it into my html's body as it is suggested in Firebase guide. However, when I open the HTML page on the browser, console shows the following error.
code: "auth/invalid-api-key"
message: "Your API key is invalid, please check you have copied it correctly."
__proto__: Error
Bottom part of the body of the HTML page is as follows.
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "AIzaSyAXXXXXXXXXXXXXXXXXXXXjILO32ZDxRKY",
authDomain: "jumbleup-773da.firebaseapp.com",
databaseURL: "https://jumbleup-773da.firebaseio.com",
projectId: "jumbleup-773da",
storageBucket: "jumbleup-773da.appspot.com",
messagingSenderId: "971123072180"
};
firebase.initializeApp(config);
</script>
Note: I obfuscated the real key by changing 20 digits of it by X.
Your API key is invalid, please check you have copied it correctly
This error can be showed for many reasons. I want to explain how I resolved this issue.
Firstly, I copied firebaseConfig variable clicking copy button for my website and kept it under my source folder making a file named firebase.config.js.
export const firebaseConfig = {
apiKey: 'AIzaSxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'fir-axxxxxxxxxxxxxxxxxxxxxxxxxx',
projectId: 'fir-axxxxxxxxxxxxxxxxx',
storageBucket: 'fir-axxxxxxxxxxxxxxxxxx',
messagingSenderId: '106xxxxxxxxxxxxxx',
appId: '1:1064xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
};
Secondly, I called firebaseConfig variable by importing it in my App.js file.
import { firebaseConfig } from './firebase.config';
Finally, I used this variable in this line below.
firebase.initializeApp(firebaseConfig);
If you get something helpful from this solution please press on upvote. Thank you.
First of all install firebase and then
Import firebase at first as import firebase from 'firebase'; or in js script.
The below code is used to connect the app to firebase this includes the id and all the details to connect firebase.
const config ={
apiKey: "XXXXXXXXXXXX",
authDomain: "app.firebaseapp.com",
databaseURL: "https://app.firebaseio.com",
projectId: "XXXXXX2",
storageBucket: "XXXXXX.appspot.com",
messagingSenderId: "5..........",
appId: "1:52807............."
}
firebase.initializeApp(config);
export default firebase;
I am using React.
I was also getting the same error because in my .env file I had , present after the declaration.
Before:
REACT_APP_API_KEY="AIXXXXXXXXXXXX",
After:
REACT_APP_API_KEY="AIXXXXXXXXXXXX"
export const environment = {
production: false,
firebaseConfig: {
apiKey: "AIzxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "chxxxxxxxxxxxxxx",
projectId: "chxxxxxxxxxxxxxxxx",
storageBucket: "chxxxxxxxxxxxxxxxx",
messagingSenderId: "7xxxxxxxxxxxxxxx",
appId: "1:7xxxxxxxxxxxxxxxxxxxxxxxxx",
measurementId: "G-xxxxxxxxx"
}
};
add this in your environment.ts
First of all...
Make sure that you copied the key correctly.
If you are confirmed you copied correctly and rest of the stuffs are ok but still Error is showing...
then just close all of your files and log out from you Gmail account
and then Login again and open your files and folder.
Hopefully it will work.
In my case... it worked as I said.
After firebase configuration like this :
const firebaseConfig = {
apiKey:process.env.REACT_APP_apiKey,
authDomain:process.env.REACT_APP_authDomain,
projectId:process.env.REACT_APP_projectId,
storageBucket:process.env.REACT_APP_storageBucket,
messagingSenderId:process.env.REACT_APP_messagingSenderId,
appId:process.env.REACT_APP_appId,
}
You may stop the server by Ctrl + c => y and again run the server (npm start). It will work.
I'm also getting such error and after following this my code running well. You may try, hope it will helpful for you.
If you use Vite with Firebase,use the following pattern
const firebaseConfig = {
apiKey: import.meta.env.REACT_APP_API_KEY,
authDomain: import.meta.env.REACT_APP_AUTH_DOMAIN,
projectId: import.meta.env.REACT_APP_PROJECT_ID,
storageBucket: import.meta.env.REACT_APP_STORAGE_BUCKET,
messagingSenderId: import.meta.env.REACT_APP_MESSAGE_SENDER_ID,
appId: import.meta.env.REACT_APP_APP_ID,
};
I have a similar error. How I Solve it:
I saw this when I created a .env file in the react project. it needs to restart the app again and everything works perfectly.
So the Solution is, Press Ctrl + c then y and again start it npm start or whatever you used.

Firebase credentials don't work when authenticated

I'm trying to implement an authentication for firebase in my react app. I do that with github but it's not relevant.
So I have some credentials and they work just fine. I can fetch my data from db and manilpulate it.
Until I login...
After successfully executing this: firebase.auth().signInWithPopup(githubProvider).then ...
I start constantly receiving warnings of that kind:
FIREBASE WARNING: Provided authentication credentials for the app named "[DEFAULT]" are invalid. This usually indicates your app was not initialized correctly. Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.
I can't do anything to my DB.
And this continues until I log out with firebase.auth().signOut().then ... then everything works fine again.
inb4: I am 100% confident that my credentials are correct. I have copied and pasted them several times.
Can someone give me insight on what is going on in that case?
And here's how I initialize the App
import firebase from 'firebase';
try {
const config = {
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
};
firebase.initializeApp(config);
} catch (e) {}
export const githubProvider = new firebase.auth.GithubAuthProvider();
export const firebaseRef = firebase.database().ref();
export default firebase;

Categories

Resources