我正在使用 android studio 開發一個基于角色的應用程序,因為我的項目需要管理員權限來創建用戶和刪除用戶我為我的項目使用了 firebase admin sdk。我試圖刪除多個帳戶,但我遇到了問題。響應返回無效的 json 對象。正如在我的代碼中,我試圖處理可能的錯誤。但是,響應仍然返回無效的 json 對象。 見下文索引.js exports.deleteUser = functions.https.onCall(async (data,context) => {try { if(!context.auth) { throw new AuthenticationError('Kimlik Do?rulamas? Yap?lmam??'); } const uids = JSON.parse(data); console.log(uids); const callerUid = context.auth.uid; const callerUser = await admin.auth().getUser(callerUid); if(!callerUser.customClaims.admin && !callerUser.customClaims.superadmin) { throw new NotAnAdminError('Bu i?lemi sadece y?neticiler ger?ekle?tirebilir'); } const reference = admin.firestore().collection("Users"); const res = await admin.auth().deleteUsers(uids); res.errors.forEach(element => console.log(element)); const successes = res.successCount; const fails = res.failureCount; console.log(fails); console.log(successes); if(fails===0) { await uids.forEach(element => reference.doc(element).delete()); return {result:successes+' ??renci Silindi!'}; }else { throw new functions.https.HttpsError('Silme Hatas?','Bilinmeyen hata, silinemeyen ??renci say?s?: '+fails); }} catch(error) { if(error.type === 'NotAnAdminError') { throw new functions.https.HttpsError('Bu i?lemi yapma yetkiniz yok.',error.message); }else if(error.type === 'AuthenticationError') { throw new functions.https.HttpsError('Kimlik Hatas?',error.message); }else { throw new functions.https.HttpsError('internal ERROR from catch block',error.message); } }});
Firebase 函數,響應不是有效的 json 對象
心有法竹
2023-04-20 10:50:53