我是一个oAuth新手,很难用ColdFusion实现一个简单的ColdFusion用户,而这个站点使用的是万神殿oAuth库。下面的curl脚本工作得很好,并返回我需要的JSON。
curl -X POST -i -H "Content-type: application/json“-c cookies.txt -X POST https://example.org/service/user/login?mykeyhere -d '{"username":"myuser",”password“:”mypassword“}
我的问题是如何在ColdFusion中实现这一点,将响应的JSON返回到我可以解析的变量中?
谢谢你的帮忙!
本
更新5/3/13
好的,我试着翻译cURL线,并且越来越接近了--下面是我所做的:
<cfset mydata = serializejson('{"username":"myuser","password":"mypass"}')>
<cfhttp url="https://example.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脚本中传递“cURL”子句中的值。有什么想法吗?
再次感谢!
最新更新:尝试了这两种方法都没有效果--我还删除了cookie行:
<cfset mydata = '{"username":"myuser","password":"mypass"}'>
<cfset mydata = serializejson('{"username=myuser","password=mypass"}')>3:20 ET
对不起-根据你的评论做了以下的更正-但仍然没有运气:
<cfset myData = serializeJSON({username="user",password="pass"})>发布于 2013-05-04 16:54:27
关于cURL后调试的好主意-我想出来了。这仅仅是头-数据被正确传递。
一旦创建了JSON,下面是CFHTTP调用:
<cfhttp url="https://mydomain.org/service/user/login?oauth_consumer_key=myKeyHere" method="post" >
<cfhttpparam type="header" name="Content-type" value="application/json" >
<cfhttpparam type="header" name="Accept" value="*/*" >
<cfhttpparam type="body" value="#mydata#" >
</cfhttp>很棒-感谢利帮我想清楚了!
https://stackoverflow.com/questions/16347829
复制相似问题