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

Jee*_*eva 8 curl unauthorized push-notification firebase firebase-cloud-messaging

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

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

在此输入图像描述

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

在此输入图像描述

我遵循了FCM 文档

如何解决此 401 错误。

Tom*_*652 0

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

因此,请按照此处的步骤操作,这将使您生成一个新的密钥对。使用此密钥,您可以从代码中获取访问令牌(请参阅下面的 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
Run Code Online (Sandbox Code Playgroud)

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