我正在尝试使用Coldfusion(Coldfusion 8)从Flickr使用他们的API获取用户的身份验证令牌。我已经写了一些来从令牌中获取必要的东西,它作为查询字符串返回。现在,我使用以下代码尝试接收包含用户数据的JSON响应。并将被我的Flickr应用程序的密钥和秘密所取代。
<cfif structKeyExists(URL,"frob")>
<cfset apiKey = "<myapikey>" />
<cfset apiSecret = "<myapisecret>" />
<cfset frob = #URL.frob# />
<cfset apiSig = Hash(apiSecret & "api_key" & apiKey & "formatjson" & "frob" & frob & "methodflickr.auth.getTokenpermsread", "MD5") />
<cfset flickrUrl = "https://flickr.com/services/rest/?method=flickr.auth.getToken&api_key=" & apiKey & "&perms=read" & "&format=json" & "&frob=" & frob & "&api_sig=" & apiSig />
<cflocation url = "#flickrUrl#" addToken = "false" />
<cfhttp
method = "GET"
url = "#flickrUrl#"
resolveurl = "Yes"
result = "result" />
<cfdump var = "#result#" />
</cfif>
然而,cfdump只是说同行未经过身份验证。我可以使用cflocation来查看我应该接收的JSON数据,但我不知道如何访问它并使用Coldfusion解析它。
<cflocation url = "#flickrUrl#" addToken = "false" />
答案 0 :(得分:0)
您是否在Java密钥库中安装了flickr证书?
Adobe ColdFusion文档:
为了通过SSL安全连接到远程服务器,所有当前版本的ColdFusion都要求远程系统的SSL证书存在于ColdFusion的证书信任库中。
https://helpx.adobe.com/coldfusion/kb/import-certificates-certificate-stores-coldfusion.html
此外,在安装flickr证书之前,您需要下载它。 您可以使用Chrome:
获得证书后,您需要将证书导入密钥库。 您需要找到ColdFusion安装使用的JVM并将其导入。 Java keytool命令因版本而异,但CF甚至可以很好地记录它:
https://helpx.adobe.com/coldfusion/kb/import-certificates-certificate-stores-coldfusion.html
哦,当然,不要忘记在导入后重启你的ColdFusion服务器 ......