FCM 推送 - 请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据

Posted

技术标签:

【中文标题】FCM 推送 - 请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据【英文标题】:FCM Push - Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential 【发布时间】:2021-05-15 02:43:07 【问题描述】:

我正在尝试使用 cURL 命令将 fcm 消息发送到特定主题,但它显示类似错误

“错误”: “代码”:401, "message": "请求具有无效的身份验证凭据。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅 https://developers.google.com/identity/sign-in/web/devconsole-project.", “状态”:“未经身份验证”

我使用了来自 firebase 控制台的服务器密钥

我关注了这个FCM Documentation

如何解决这个 401 错误。

【问题讨论】:

我也有同样的错误,从那以后你有什么发现吗? 【参考方案1】:

其实我想为什么,这是因为您需要一个服务帐户来为您处理它。

所以请按照here 的步骤操作,这将使您生成一个新的密钥对。使用此密钥,您可以从代码中获取访问令牌(参见下面的 python,但文档支持 NodeJS / Java):

def _get_access_token():
  """Retrieve a valid access token that can be used to authorize requests.

  :return: Access token.
  """
  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      'service-account.json', SCOPES)
  access_token_info = credentials.get_access_token()
  return access_token_info.access_tokenmessaging.py

您只需打印此值,复制粘贴并将其用作Bearer OAuth 2 访问令牌。

【讨论】:

以上是关于FCM 推送 - 请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据的主要内容,如果未能解决你的问题,请参考以下文章

请求具有无效的身份验证凭据。云语音 api 中的预期 OAuth 2 访问令牌错误

Google People API:请求具有无效的身份验证凭据 - 未设置授权承载标头

Firebase Push - 身份验证凭据无效

firebase 函数缺少 oauth2 凭据

在 MacOSX 上,当指定无效的身份验证凭据时,QNetworkAccessManager 进入无限循环

由于应用程序/无效凭据错误,无法发送设备推送通知