Better handling of invalid registration token?
还没有人认领这个 Issue。
评估
调研方向
从 messaging.send 路径开始,检查当前是如何引发 InvalidArgumentError、SenderIdMismatchError 和 UnregisteredError 的。跟踪“Invalid registration token”情况下的 HTTP 响应处理,并确定所需的公开错误行为。完成的标准是:调用方无需检查 HTTP 内部实现即可处理此无效令牌场景,并且相关错误路径有覆盖。
由索引模型根据 Issue 内容生成。
描述
[READ] Step 1: Are you in the right place?
Looks like it.
[REQUIRED] Step 2: Describe your environment
- Operating System version: Any
- Firebase SDK version: v6.5.0
- Firebase Product: FCM
- Python version: 3.11.9
- Pip version: Any
[REQUIRED] Step 3: Describe the problem
This looks similar to #187, but that's been closed for years, so the similarity might no longer apply.
The crux of the issue is that not all scenarios of invalid registration IDs in FCM are supported equally. Particularly, there is the case of InvalidArgumentError due to an invalid registration ID which forces us to inspect the underlying HTTPError.
In other words, for us to handle all (known) scenarios where we should drop a particular registration ID, we currently have to:
try:
messaging.send(message)
except (
messaging.SenderIdMismatchError,
messaging.UnregisteredError,
messaging.ThirdPartyAuthError,
):
# Handle errors that require dropping the registration ID
# This is reasonably ergonomic!
pass
except exceptions.InvalidArgumentError as e:
if e.http_response and "Invalid registration token" in e.http_response.text:
# Handle errors that require dropping the registration ID
# This is NOT ergonomic! Plus it relies on API internals not abstracted away by `firebase-admin-sdk`.
pass
Is there any chance for first-party support of this error? Perhaps by re-raising as messaging.InvalidRegistrationIdError?
- 主要语言
- Python
- 星标
- 1.2k
- 派生
- 359
- 平均合并
- 3 天 9 小时
- 30 天内合并 PR
- 3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
firebase/firebase-admin-python 的其他 Issue
-
api: remoteconfig
难度 2/5 1-3 小时 新手友好度 75/100
firebase/firebase-admin-python#957 · 1 条评论 ·
-
api: database type: feature request
难度 2/5 1-3 小时 新手友好度 62/100
-
难度 4/5 3-5 天 新手友好度 45/100
firebase/firebase-admin-python#978 · 1 条评论 ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) 未关闭api: auth
firebase/firebase-admin-python#949 · 2 条评论 · 1 个 reaction · 已指派 1 人 ·
-
难度 4/5 3-5 天 新手友好度 43/100
firebase/firebase-admin-python#945 · 1 条评论 · 1 个 reaction ·
查看 firebase/firebase-admin-python 的全部 Issue
相似的 Issue
-
bug confirmed issue
难度 2/5 1-3 小时 新手友好度 75/100
open-webui/open-webui#30750 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
good first issue
难度 1/5 1 小时以内 新手友好度 90/100