0

ColdFusion リクエストを介して WNS から「アクセス トークン」を取得しようとしていますが、「Bad Request」という応答が返されます。こちらの手順に従って、すべてが正しくセットアップされていると思います。デバイスが 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" />

ブラウザ経由でURL を直接テストすると、失敗した応答も得られます。あなたの助けに感謝。

ありがとうございました、

イアン。

4

1 に答える 1

0

MSDN の例に基づいて、現在「URL」に設定されている cfhttpparam フィールドを実際には「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" />

この例では、thes をコンテンツ エリア (生の投稿を表示) に配置しているように見えますが、これらは URL フィールドではなく、投稿のフォーム フィールドですよね?

于 2015-09-21T13:41:18.270 に答える