通过ColdFusion的Windows推送通知服务令牌请求

时间:2015-09-21 10:38:18

标签: coldfusion push-notification wns

我正在尝试获取"访问令牌"从WNS通过ColdFusion请求,但我得到了一个"错误请求"响应。我相信我按照说明here正确设置了所有内容。我的设备正在将URI注册到我的后端。

这是一个简单的代码段; (我当然隐藏了秘密密钥)

<cfhttp url="https://login.live.com/accesstoken.srf" method="post" result="httpResp">
<cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />

<cfhttpparam type="URL" name="grant_type" value="client_credentials" />
<cfhttpparam type="URL" name="client_id" value="ms%2Dapp%3A%2F%2Fs%2D1%2D15%2D2%2D1197233413%2D3602308102%2D1084427847%2D2188608249%2D1036687727%2D3580410356%2D2392468796" />
<cfhttpparam type="URL" name="client_secret" value="************************" />
<cfhttpparam type="URL" name="scope" value="notify.windows.com" />

直接测试网址via the browser时,我的回复也失败了。感谢您的帮助。

谢谢,

伊恩。

1 个答案:

答案 0 :(得分:0)

我认为现在设置为“URL”的cfhttpparam字段实际上应该根据MSDN上的示例设置为“FORMFIELD”。

<cfhttpparam type="FORMFIELD" name="grant_type" value="client_credentials" />
<cfhttpparam type="FORMFIELD" name="client_id" value="..." />
<cfhttpparam type="FORMFIELD" name="client_secret" value="************************" />
<cfhttpparam type="FORMFIELD" name="scope" value="notify.windows.com" />

示例似乎将内容放在内容区域(显示原始帖子) - 所以这些是帖子的表单字段,而不是URL字段吗?