【问题标题】:Amazon SNS publish push notificationsAmazon SNS 发布推送通知
【发布时间】:2017-06-26 11:53:45
【问题描述】:

我在亚马逊 SNS 上使用 python 来发布推送通知。

    data = { "GCM" : {"data":   {"message": "dummy"  }}}
    jsonData =  json.dumps(data)        

    self.client.publish( TargetArn=targetArn,
        Message= jsonData,
        MessageStructure='json')

得到以下错误。

无效参数:JSON 必须包含“默认”或“GCM”条目。

尝试将其作为字符串和各种格式发送。但这行不通。发布有什么问题?

【问题讨论】:

  • boto3 documentation 表示“如果要为每个传输协议发送不同的消息,请将 MessageStructure 参数的值设置为 json 并为 Message 参数使用 JSON 对象。”但是,您只发送一种类型的消息。因此,您为什么使用 JSON 版本?您是否尝试过使用 GCM targetARN 发送字符串消息?
  • 字符串不起作用它在推送通知中显示未定义:未定义。如果我使用原始类型,即使使用控制台也不起作用。仅使用 json。

标签: python amazon-web-services amazon-sns


【解决方案1】:

发布所需的 json 结构必须专门转义 \。下面为我​​工作。有一个默认值很重要,GCM 键的值应该再次是一个 json 对象。

GCM_data = { 'data' : { 'message' : 'dummy'}}

data = { "default" : "test",
         "GCM": json.dumps(GCM_data)
        }
jsonData =  json.dumps(data)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多