Облачная функция Firebase не может отправлять уведомления в приложении Flutter – НЕ АУТЕНТИЧНОPython

Программы на Python
Ответить
Anonymous
 Облачная функция Firebase не может отправлять уведомления в приложении Flutter – НЕ АУТЕНТИЧНО

Сообщение Anonymous »

Я настроил облачную функцию для отправки уведомлений в свое приложение. Однако я застрял на проблеме, которая возвращает следующую ошибку:

Не удалось отправить сообщение на dkmC6rNuCE...: В запросе отсутствуют необходимые
учетные данные для аутентификации. Ожидаемый токен доступа OAuth 2, файл cookie для входа
или другие действительные учетные данные для аутентификации. См.
https://developers.google.com/identity/ ... le-project.
Токен FCM dkmC6rNuCE... завершился с ошибкой: UNAUTHENTICATED — в запросе
отсутствуют необходимые учетные данные для проверки подлинности. Ожидаемый токен доступа OAuth 2, файл cookie для входа или другие действительные учетные данные для аутентификации. См.
https://developers.google.com/identity/ ... le-project.

моя функция (Python 1.13) для уведомлений следующая:

Код: Выделить всё

def send_notification(
tokens: List[str], title: str, body: str, data: Dict[str, str] = None
) -> Tuple[List[str], List[str]]:
"""
Send FCM notification to multiple tokens with automatic token sanitization.
Invalid tokens are automatically removed from user documents based on error types.
Returns tuple of (successful_tokens, failed_tokens)
"""
try:
if not tokens:
return [], []

message = messaging.MulticastMessage(
data=data or {},
notification=messaging.Notification(title=title, body=body),
tokens=tokens,
)

response = messaging.send_each_for_multicast(message)

successful_tokens = []
failed_tokens = []

for idx, result in enumerate(response.responses):
if result.success:
successful_tokens.append(tokens[idx])
else:
failed_tokens.append(tokens[idx])
logger.error(
f"Failed to send message to {tokens[idx][:10]}...: {result.exception}"
)

# Automatically sanitize FCM tokens based on response
try:
sanitize_fcm_tokens(response, tokens)
except Exception as e:
logger.warning(f"Failed to sanitize FCM tokens: {e}")

return successful_tokens, failed_tokens

except Exception as e:
logger.error(f"Error in send_notification: {str(e)}")
return [], tokens
Кроме того, я проверил роли учетной записи IAM, которые используются службой, и была назначена роль редактора, которой должно быть достаточно для отправки уведомлений.
Кроме того, включен FCM API.
Меня беспокоит только то, что ранее я менял ключи Firebase в целях безопасности, и это могло повлиять на другие службы.
После ротации я обновил учетные данные в своем приложении сторона
Наконец, все облачные функции и приложение имеют правильный доступ к Firestore для получения данных и т. д. Однако функция отправки уведомления не работает.
Любая помощь приветствуется
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/798 ... nauthentic
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»