0

私の承認ヘッダーは次のようになります (パラメーターはセキュリティのためにわずかに変更され、読みやすいように改行されています)。

    <cfset oAuthHeader = 'OAuth oauth_consumer_key="zz3u0Lf9XxkC2KX839r2MS0fDltvLquow3ZMLaOw",
oauth_nonce="9BD4FAE88D1B213F86D908FE183F0501C682EE2F",
oauth_signature="Zy91IhXWGcMxyuAVIlGX%2F3ULTWU%3D",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1337169270",
oauth_version="1.0"' 

私の cfhttp 呼び出しは次のようになります。

 <cfhttp url="#oRequestReq.getNormalizedHttpURL()#" method="POST">
            <cfhttpparam type="header" name="Authorization" value="#oAuthHeader#">
            <cfloop collection="#arguments#" item="key">
                <cfif key neq 'fieldnames'>
                    <cfhttpparam type="formfield" name="#key#" value="#arguments[key]#">
                </cfif>
            </cfloop>
        </cfhttp>

を実行<cfdump var="#GetHttpRequestData()#">すると、次のように表示されます。これは、フィールドが formfield params OK として通過していることを示していますが、Authorization ヘッダーはどこにも表示されません。

![ここに画像の説明を入力][1]

Authorization ヘッダーを Headers 構造体に含めるべきではありませんか? [1]: http://i.stack.imgur.com/VbQQO.jpg

4

2 に答える 2

0

じゃないかな…

<cfset oAuthHeader = {
    'oauth_consumer_key'="zz3u0Lf9XxkC2KX839r2MS0fDltvLquow3ZMLaOw",
    'oauth_nonce'="9BD4FAE88D1B213F86D908FE183F0501C682EE2F",
    'oauth_signature'="Zy91IhXWGcMxyuAVIlGX%2F3ULTWU%3D",
    'oauth_signature_method'="HMAC-SHA1",
    'oauth_timestamp'="1337169270",
    'oauth_version'="1.0"
}>

<cfhttp url="#oRequestReq.getNormalizedHttpURL()#" method="POST">
    <cfloop collection="#oAuthHeader#" item="key">
        <cfhttpparam type="header" name="#key#" value="#oAuthHeader[key]#">
    </cfloop>
    <cfloop collection="#arguments#" item="key">
        <cfif key neq 'fieldnames'>
            <cfhttpparam type="formfield" name="#key#" value="#arguments[key]#">
        </cfif>
    </cfloop>
    ...
</cfloop>

?

于 2012-05-16T16:13:46.067 に答える