将包含特殊字符的标记发送到Azure通知中心

时间:2013-12-10 12:43:03

标签: azure azure-notificationhub

我们希望在iPad应用中使用Azure通知中心但我们遇到了问题。确定谁获取推送消息的标签是一个电子邮件地址,如果它只包含普通字符,它可以正常工作。但是当我们尝试发送看起来像这样的标签时它不起作用:

test+10@gmail.com

test%10@gmail.com

我们正在使用此方法从后端发送推送:

http://msdn.microsoft.com/en-us/library/windowsazure/dn539552.aspx

当我们这样做时,我们收到此消息:

无效标签test+10@gmail.com.TrackingId:48b6f399-3f27-40b4-a6f9-b0838623c9c3_G19,TimeStamp:12/10/2013 12:38:38 PM

无效请求(400)

我们已经查看了文档,看看它是否说明了我们需要以特殊方式对标记进行编码但却一无所获。

我们无法想象这是不可能的,因为它必须是一种常见的情况。 希望有人可以提供帮助。

干杯

2 个答案:

答案 0 :(得分:4)

标签中允许的字符为:ASCII-7字母数字字符加{‘.’, ’-’, ’_’, ’~’, ‘:’, ‘@’, ‘#’}。最大长度为120个字符。

您可以通过以二进制编码然后以十六进制编码来编码任意字符串。

Info Source

答案 1 :(得分:3)

我发现与Elio略有不同的信息:

  

标签可以是任何字符串,最多120个字符,包含字母数字   和以下非字母数字字符:'_','@','#','。',   ':',' - '。

Source

所以'〜'是无效(我可以从经验中确认这一点。)