我是一位oAuth新手,正在努力在ColdFusion中實現一個使用萬神殿oAuth庫的PHP站點的簡單oAuth消費者。下面的curl腳本完美地工作,並返回我需要的JSON。ColdFusion oAuth消費者反對PHP Pantheon網站
捲曲-X POST -i -H 「內容類型:application/JSON」 -c cookie.txt的-X POST https://mysite.org/service/user/login?mykeyhere -d 「{ 「用戶名」: 「爲myuser」, 「密碼」: 「我的密碼」}'
我的問題是我如何在ColdFusion中實現這個,將響應的JSON返回到我可以解析的變量中?
感謝您的幫助!
本
UPDATE 13年5月3日
好吧,我試着翻譯捲曲線和我越來越近 - 這是我做的:
<cfset mydata = serializejson('{"username":"myuser","password":"mypass"}')>
<cfhttp url="https://mydomain.org/service/user/login" method="post" >
<cfhttpparam type="header" name="Content-type" value="application/json" >
<cfhttpparam type="header" name="oauth_consumer_key" value="mykey" >
<cfhttpparam type="body" value='#mydata#' >
<cfhttpparam name="cookies.txt" type="cookie" value="" >
</cfhttp>
然而,我仍然得到一個否定的迴應 - 但它似乎是因爲我沒有正確傳遞cURL腳本中「-d」子句中的值。有任何想法嗎?
再次感謝!
最新更新: 嘗試這兩種無濟於事 - 我還刪除了cookie的行:
<cfset mydata = '{"username":"myuser","password":"mypass"}'>
<cfset mydata = serializejson('{"username=myuser","password=mypass"}')>
3:20 ET
對不起 - 作出修正爲根據您的評論以下 - 但仍然沒有運氣:
<cfset myData = serializeJSON({username="user",password="pass"})>
它看起來像一個簡單的POST請求,所以相當於[cfhttp](http://help.adobe.com/zh_CN/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7ffc.html),帶有一些[headers/parameters ](http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7d85.html)拋出,即'Content-Type','body'。首先查看[cURL手冊](http://curl.haxx.se/docs/manpage.html)。翻譯選項,即'-X,-i,-H,-d',看看你有多遠。如果遇到問題,請回復您的代碼。 – Leigh 2013-05-02 22:41:09
非常感謝Leigh - 關於我的工具的任何想法? – Ben 2013-05-03 15:58:12
值字符串看起來不對。您使用的輸入字符串已經是json格式。所以用'serializeJSON'封裝它會破壞它。我懷疑你是想用CF的隱式結構符號代替。注意使用'='而不是':'。即''cfset myData = serializeJSON({username =「myuser」,password =「mypass」})>' – Leigh 2013-05-03 18:44:22