WebHU - Programozási kérdések és válaszok

A Firebase felhő funkciójának megfelelő használata [másolat]

Az alkalmazásomban a Firebase felhő funkciót használom, még tanulom, ezért az oktatóanyagokból, használom, egyéni igényt szeretnék adni egy felhasználónak a felhőfunkcióban, de ezt a hibát kaptam a konzolban.

Itt van a hiba, amit kaptam.

Error: internal
    at new y (error.ts:66)
    at w (error.ts:175)
    at A.<anonymous> (service.ts:263)
    at tslib.es6.js:100
    at Object.next (tslib.es6.js:81)
    at r (tslib.es6.js:71)

Itt van az ügyféloldali kód

        <form class="form-inline my-2 my-lg-0">
           <input class="form-control mr-sm-2 makeAdminInput" type="email" placeholder="Users Email" required>
           <button class="btn btn-outline-secondary my-2 my-sm-0 makeAdminBtn" type="submit">Make Admin</button>
        </form>
      <script>
       $(document).ready(() => {
        functions = firebase.functions()
        $('.makeAdminBtn').click(e => {
            e.preventDefault()
            let email = $('.makeAdminInput').val()
            let addAdminRole = functions.httpsCallable('addAdminRole')
            addAdminRole({ email }).then(resp =>console.log(resp)).catch(error => console.log(error))
        })
</script>

A felhő funkció kódja

const functions = require('firebase-functions');
const admin = require('firebase-admin')

admin.initializeApp()
exports.addAdminRole = functions.https.onCall((data, context) => {
    return admin.auth().getUserByEmail(data.email).then(user => {
        return admin.auth().setCustomUserClaims(user.uid, { admin: true })
    }).then(() => {
        return { message: `Success ${data.email} has being made admin` }
    }).catch(err => { return err })
})

Kérem, mit csinálok, ez rossz, még mindig új vagyok a Firebase-ben


  • A kód első látásra helyesnek tűnik. Módosítsa a kódot, hogy értelmes hibát adjon vissza. Egyelőre nem látjuk, hogy mi a hiba, mert nem adja vissza a functions.https.HttpsError példányát. Módosítsa a kódot a firebase.google.com/docs/functions/callable#handle_errors és firebase.google.com/docs/functions/. Továbbá lát valamilyen hibaüzenetet a Firebase-konzol Cloud Function naplójában? 06.10.2020
  • @RenaudTarnec igen, ez a hiba addAdminRole Function execution took 77 ms, finished with status code: 400 06.10.2020
  • Rendben, módosíthatja a CF-et a fent leírtak szerint, hogy értelmesebb hibaüzenetet kapjon? 06.10.2020
  • @RenaudTarnec addAdminRole Invalid request, unable to process 06.10.2020
  • mi az a CF, még új vagyok a Firebase-ben 06.10.2020
  • CF = az Ön felhőfunkciója ;-) kérjük, módosítsa a kódot a firebase.google.com oldalon leírtak szerint /docs/functions/callable#handle_errors. Biztos vagy benne, hogy meglévő felhasználói e-mailt adsz át? 06.10.2020
  • Igen, egy meglévő e-mailt továbbítok 06.10.2020
  • Tud hibakeresést végezni a .then(user => { console.log(user.uid); ...}) segítségével, és ellenőrizni, hogy a felhasználói azonosító helyesen szerepel-e a Firebase-konzol Cloud Function naplójában? 06.10.2020
  • Ezt egyelőre ismétlődésként jelölöm meg, mert ismert probléma van a Firebase-ügyfél-SDK néhány legújabb verziójával. Frissítsen a legújabb 7.22.1-re, hátha ez segít. 06.10.2020

Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..