- 
                Notifications
    
You must be signed in to change notification settings  - Fork 343
 
Open
Labels
Description
[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.0via npm. - Run 
npx firebase loginand complete login process. - Run 
npx firebase init:emulatorsand selectauth, functions, firestore, pubsub, tasks, extensions. - Run 
npx firebase emulators:start. - Trigger HTTP function via curl which calls 
send_confirmation_emailfrom 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_emailfunctions/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,
		),
	)))