【问题标题】:First cURL request validating GCM api key第一个 cURL 请求验证 GCM api 密钥
【发布时间】:2017-09-28 12:27:50
【问题描述】:

目前正在尝试使用 GCM API 密钥构建我的第一个 android 应用程序,该密钥将被一个营销软件用于发送推送通知。

希望获得一些帮助,以通过 curl 请求验证我的 google 云消息 (GCM) API 密钥。我尝试使用在线 curl 生成器,但结果与我期望的成功或错误消息不匹配。

以下请求已从 push sdk 文档中复制。如果它返回 401 错误,我需要将我的 GCM 项目更新为 FCM 项目。

curl --header "Authorization: key=AIzaSyBIuNzItgztXS31MYdl0xnszQcAUO7lbOg"
--header Content-Type:"application/json"
https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"ABC\"]}"

我显然也很想知道自己如何做到这一点。

提前致谢。

【问题讨论】:

  • 嗨,克里斯。澄清一下,您想知道如何发送一个简单的请求来验证服务器密钥的有效性?
  • 嗨,AL。对,那是正确的。如果您收到以下响应,则说明 API Key 有效。 {"multicast_id":5464097959083008962,"success":0,"failure":1,"canonical_ids":0,"results": [{"error":"InvalidRegistration"}]} 但是,如果您收到此响应,则API 密钥无效,您必须转到第 4 步: Unauthorized

    Unauthorized

    错误 401

  • 你有没有考虑用Postman试试?
  • 抱歉再次回复 AL。但似乎我做错了什么,因为我收到了一个错误的请求 - 请参阅:imgur.com/a/J3Mfl
  • 嘿@chris。没问题。您请求中的 JSON 应包含在 Body 选项卡中,而不是 URL 本身。然后也删除-d 部分。此外,作为最佳实践,请始终避免向公众披露您的服务器密钥(用于授权的值)。 :)

标签: android curl google-cloud-messaging firebase-cloud-messaging


【解决方案1】:

根据我的评论,您可以尝试使用 Postman 发送简单的下游消息。

  1. 将请求类型设置为POST并提供URL。

  2. 设置标题:

    • Authorization = =<Server Key>(这里,当您刚开始时,建议继续使用 FCM 而不是 GCM,因为只能通过创建 Firebase 项目来生成新的有效服务器密钥)。
    • Content-Type = application/json

  3. 设置(JSON 有效负载)主体(作为 raw):

    {
        "registration_ids" : ["ABC"]
    }
    

  4. 点击发送

您应该收到 InvalidRegistration401Invalid Legacy Server Key... 错误:

  • InvalidRegistration 错误表示令牌无效,但服务器密钥有效。
  • 401 表示无效凭据,对于此特定请求,它是服务器密钥。
  • Invalid (legacy) Server-key delivered or Sender is not authorized to perform request. 表示您尝试使用旧格式的服务器密钥(如您帖子中的那个)。新服务器密钥有更多字符。通常的反应是这样的:

    <HTML>
    <HEAD>
        <TITLE>Invalid (legacy) Server-key delivered or Sender is not authorized to perform request.</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
        <H1>Invalid (legacy) Server-key delivered or Sender is not authorized to perform request.</H1>
        <H2>Error 401</H2>
    </BODY>
    </HTML>
    

【讨论】:

    猜你喜欢
    • 2022-07-20
    • 2022-12-30
    • 1970-01-01
    • 2014-05-12
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多