Skip to content

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

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,
		),
	)))

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions