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

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions