昨天我遇到了這個問題。我搜索了很多,並閱讀了很多博客找到這個問題的解決方案,但沒有找到確切的答案。米格爾-F解釋它,但它不能解決問題。以下是我要列出的步驟。它一定會解決這個問題。
我的開發環境規範: Windows 7 Ultimate,XAMPP 1.7。7,ColdFusion的9並使用最新的monkehTweet CFC
步驟1
打開該URL在Firefox(https://api.twitter.com)
我不能插入圖片到期的聲譽,我得到了聲望,我一定會插入它。
步驟2
保存點擊更多信息,然後單擊查看證書 然後單擊詳細信息選項卡,單擊導出按鈕,將文件保存與twitter.cer
打開運行工具並運行「加利福尼亞」,打開命令提示符
現在我們需要安裝的Twitter認證ColdFusion的9
我在中科院
命令E要安裝認證,我用下面的命令
C:\ColdFusion9\runtime\jre\bin>keytool -import -v -keystore cacert -alias twitter_cert -storepass mypass -file c:/twitter.cer
它會要求安裝然後是
確認鍵來確認認證,適用於Java密鑰庫上市。您需要使用以下命令。
C:\ColdFusion9\runtime\jre\bin>keytool -list -v -keystore cacert -alias twitter_cert -storepass mypass
它肯定會列出認證。
現在您需要從服務管理器重新啓動Coldfusion 9應用程序。
第3步:
現在,你需要做的monkehtweet文件夾中打開base.cfc
查找功能httpOAuthCall,並與下面的代碼更改
<cffunction name="httpOAuthCall" description="Allows Scripting of CFHTTP" access="private" output="false" returntype="Struct">
<cfargument name="url" type="string" displayname="url" hint="URL to request" required="true" />
<cfargument name="method" type="string" displayname="method" hint="Method of HTTP Call" required="true" />
<cfargument name="parameters" type="struct" displayname="method" hint="HTTP parameters" required="false" default="#structNew()#" />
<cfset var returnStruct = {} />
<cfif structKeyExists(arguments.parameters,'params')>
<cfset structAppend(arguments.parameters,arguments.parameters['params']) />
<cfset structDelete(arguments.parameters,'params') />
</cfif>
<cfset objSecurity = createObject("java", "java.security.Security") />
<cfset storeProvider = objSecurity.getProvider("JsafeJCE") />
<cfset objSecurity.removeProvider("JsafeJCE") />
<cfhttp url="#arguments.url#" method="#arguments.method#" result="returnStruct" multipart="true">
<cfif structKeyExists (arguments.parameters,'media[]') and arguments.method is 'POST'>
<cfhttpparam type="file" file="#arguments.parameters['media[]']#" name="media[]" />
</cfif>
<!--- Strip out the non-required parameters (the custom monkehTweet arguments) --->
<cfset structDelete(arguments.parameters,'checkHeader', false) />
<cfset structDelete(arguments.parameters,'format', false) />
<cfset structDelete(arguments.parameters,'media[]', false) />
<cfif arguments.method is 'POST'>
<cfloop collection="#arguments.parameters#" item="local.key">
<cfhttpparam type="formfield" name="#key#" value="#arguments.parameters[key]#" />
</cfloop>
</cfif>
</cfhttp>
<cfset objSecurity.insertProviderAt(storeProvider, 1) />
<cfreturn returnStruct />
</cffunction>
現在,運行示例,提供所有的密鑰,它肯定會工作。
你是對的 - 我得到同樣的錯誤,當我運行簡單的HTTPS請求。我嘗試了Raymond網站的JSafe代碼,但無法在我的網站上運行。我想我需要安裝證書。任何人都有關於Twitter的具體說明?注意:我正在使用CF v9。 –