Skip to content

AttributeError: 'Credentials' object has no attribute 'service_account_email' #918

@IkorJefocur

Description

@IkorJefocur

[REQUIRED] Step 2: Describe your environment

  • Operating System version: Linux 6.12.41
  • Firebase SDK version: 7.1.0
  • Firebase Product: cloud tasks, cloud functions
  • Python version: 3.13.5
  • Pip version: 25.2

[REQUIRED] Step 3: Describe the problem

When using Local Emulator Suite and trying to enqueue any cloud task, getting exception:

> [2025-10-14 10:06:39,431] ERROR in app: Exception on / [POST] > Traceback (most recent call last): > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app > response = self.full_dispatch_request() > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request > rv = self.handle_user_exception(e) > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request > rv = self.dispatch_request() > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request > return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/functions_framework/execution_id.py", line 157, in wrapper > result = view_function(*args, **kwargs) > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/functions_framework/__init__.py", line 142, in view_func > return function(request._get_current_object()) > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/firebase_functions/https_fn.py", line 439, in on_request_wrapped > return func(request) > File "/home/ikor/Work/Firebase/functions/functions/email_auth.py", line 35, in sign_in_with_email > send_confirmation_email(email, verification_code = code) > ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/home/ikor/Work/Firebase/functions/functions/email.py", line 23, in send_confirmation_email > queue.enqueue(dict(data = dict( > ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ > to = to, > ^^^^^^^^ > ...<3 lines>... > ), > ^^ > ))) > ^^^ > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/firebase_admin/functions.py", line 167, in enqueue > task_payload = self._update_task_payload(task, self._resource, self._extension_id) > File "/home/ikor/Work/Firebase/functions/venv/lib/python3.13/site-packages/firebase_admin/functions.py", line 300, in _update_task_payload > {'service_account_email': self._credential.service_account_email} > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > AttributeError: 'Credentials' object has no attribute 'service_account_email' 

Steps to reproduce:

  • Install firebase-tools ^14.17.0 via npm.
  • Run npx firebase login and complete login process.
  • Run npx firebase init:emulators and select auth, functions, firestore, pubsub, tasks, extensions.
  • Run npx firebase emulators:start.
  • Trigger HTTP function via curl which calls send_confirmation_email from the code below.

Relevant Code:

functions/main.py:

from firebase_admin import initialize_app initialize_app() from functions.email import sendemail from functions.email_auth import sign_in_with_email, confirm_email

functions/functions/email.py:

from firebase_functions.tasks_fn import on_task_dispatched from firebase_admin.functions import task_queue @on_task_dispatched() def sendemail(request):	... def send_confirmation_email(to, *, verification_code): queue = task_queue(sendemail.__name__) queue.enqueue(dict(data = dict( to = to, template_data = dict( VERIFICATION_CODE = verification_code,	),	)))

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions