从Instagram API通过ColdFusion获取JSON数据时出现错误400:错误请求。

4

由于无法为其创建一个jsfiddle,我不敢提出这个问题,但希望有人能够帮忙解决。

我正在尝试在ColdFusion中创建一个cfc以进行Instagram登录。这部分已经完成。我使用postman(Google应用程序)并通过我的凭据可以在json中查看用户数据,但是当我将其转换为ColdFusion时,它会出现错误。我尝试更改数据类型、头和很多行,但仍然一遍又一遍地得到相同的错误。

我的代码(出于安全考虑,用xxx替换了id)

<cftry>
<cfhttp url="https://api.instagram.com/oauth/access_token" method="post" resolveurl="yes">
    <cfhttpparam type="header" name="Content-Type" value="application/x-www-form-urlencoded" />
    <cfhttpparam type="formfield" name="client_id" value="14faxxxxxdc5440f86x6cdd8xxxxf78" />
    <cfhttpparam type="formField" name="client_secret" value="40xa78220cfb" />
    <cfhttpparam type="formField" name="grant_type" value="authorization_code" />
    <cfhttpparam type="formField" name="redirect_uri" value="#URLEncodedFormat('http://example.com/demo/instagramAPI/success.cfm')#" />
    <cfhttpparam type="formField" name="code" value="#url.code#" />
</cfhttp>
<cfdump var="#cfhttp#"><cfabort>
<cfcatch type="any">
<cfdump var="#cfcatch#">
</cfcatch>
</cftry>  

我正在按照这个答案的代码进行操作。更多信息请查看此处Image。可以看到我使用相同的登录凭据获取数据,但是通过cfc执行相同操作时出现错误。
在运行URL后出现的错误:Error 我已经阅读了很多文章和博客,但仍然无法解决错误。有人能帮我理解我做错了什么吗?如果您有其他建议,请告诉我。
如果需要任何其他信息,请告诉我。

服务器返回的是“proxygen” - 这是否与浏览器返回的服务器相同?也许你中间有什么问题吗? - Mark A Kruger
@Miguel-F,我是一个新手,对ColdFusion服务器不太熟悉,所以请我的前辈将证书安装到服务器上。他会在周一告诉你结果。 - Leo the lion
我已经尝试过这个方法了,还有很多链接,但结果都一样。我做了所有这些尝试,甚至发起了悬赏,但都没有结果 :( - Leo the lion
我无法在服务器上安装证书,因为我没有来自证书的适当凭据,例如组织、组织单位等。 - Leo the lion
没问题,感谢您的评论。现在正在尝试这个指导,并会告诉您发生了什么。 - Leo the lion
显示剩余11条评论
1个回答

3

经过几天的等待,我终于得到了我的问题的答案。感谢Miguel-F和Mark A Kruger,但是Mark,你提供的链接对我没有帮助,因为那与我的问题无关。

我所做的就是更新我的SSL证书。之前我尝试过,但是没有太多信息,例如组织单位等等,但是然后我按照Miguel提供的链接中给出的步骤进行了操作,然后测试后我得到了到期代码错误。

之后,我尝试使用?reinit=1进行刷新,因为我在更新证书后更改了我的cfc,但忘记重新初始化,然后我得到了结果:)

因此,最终的答案是更新您的SSL证书并进行适当的授权,cfc可以从Instagram获取数据..

对我有用的链接 One, CFC demo。在CFC演示中,您可以下载Instagram的CFC,这也很有用(即使您不必更新SSL证书)。

如果有人遇到Instagram CFC问题,请告诉我。我花了几天时间解决这个问题,可以帮助你。 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接