2010-03-11 52 views
3

我想獲得的ColdFusion 8工作,FB連接Facebook連接到ColdFusion的8

我在IIS上運行CF8,Windows Server 2003的

我用ColdFusion的這個FB連接包裝由詹姆斯·康斯特布爾寫,

http://jamesconstable.co.uk/web-development/facebook-connect-library-for-coldfusion

圖書館是爲Railo服務器寫的,我設法將它移植(或我想是這樣)到IIS,但它給了我這個錯誤

循環錯誤。 集合無效[expires,session_key,ss,user]。必須是有效的結構或COM對象。

從那裏我推斷init方法已被調用,但fb params未被填充。

我現在試圖通過RIAA上的Gavin將FBML API與該包裝合併。目前爲止沒有成功。

我現在恐慌,這是我的第一個CF項目,有點無知:)。

孤男寡女一些啓示:)

謝謝你在前進,

.tre。

+0

我已經更新了庫並在Adobe CF9上對其進行了測試。我沒有Adobe CF8的副本,但我認爲不應該有任何問題。如果有任何問題,請將它們添加到GitHub上的問題列表中。 – WeeJames 2011-04-23 10:12:39

回答

3

首先,您不能將Railo應用程序「移植」到IIS上,因爲這些是兩種不同用途的系統。 Railo是CFML語言的應用程序服務器(引擎),如Adobe ColdFusion。 IIS是Web服務器。 IIS(或Apache)用於提供HTTP請求並將它們轉發給CFML引擎。它可以用不同的方式完成,這只是一個典型的例子。

在Railo和Adobe CF中,CFML語法支持有一些(主要是次要的)區別,這就是作者在他的文章中提到的。

你的錯誤應該意味着你正在使用這樣的事情有沒有MyCollection的的結構數據類型

<cfloop collection="#MyCollection#"></cfloop> 

試圖循環。

嘗試在循環啓動前檢查此變量,最簡單的方法是轉儲它並查看。

接下來嘗試追查這個數據集是如何構建和填充的,這應該有助於找到問題的根源。

快速查看代碼給出了幾個可能的地方,可能在makeRequest方法。

希望這會有所幫助。

UPDATE

想我找到了一個理由。

的Adobe CF不支持以下結構的語法:

{'session_key': this.fb_params['session_key']} 

嘗試改變的

{session_key = this.fb_params['session_key']} 

另外查看其他類似的例子的代碼。

一般來說,Railo在這方面更加靈活。我接受所有這些形式:

<cfset woo = {woo = "hoo"} /> 
<cfset woo = {'woo' = "hoo"} /> 
<cfset woo = {woo: "hoo"} /> 
<cfset woo = {'woo': "hoo"} /> 

但不是ACF。

這就是爲什麼我更喜歡Railo的原因之一:)

+0

謝謝Sergii, 我的不好,我的意思是端口Railo到Adobe CF8。我改變了一些語法差異。 你對makeRequest方法的猜測是現貨,我會嘗試拋棄fb_params。謝謝。 – tre 2010-03-11 11:48:38

+0

看到更新,也許它可以幫助。 – Sergii 2010-03-11 11:50:06

+0

謝謝Sergii :)。隨着截止日期的臨近,我最終轉向使用PHP,所以我無法確認您的解決方案。但下次會派上用場。再次感謝,感謝。 – tre 2010-07-02 02:57:26