3

我正在尝试让 ColdFusion 8 与 FB Connect 一起使用

我在 IIS、Windows Server 2003 上运行 CF8。

我使用这个由 James Constable 编写的用于 ColdFusion 的 FB Connect 包装器,

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

该库是为 Railo 服务器编写的,我设法将它(或者我认为是)移植到 IIS,但它给了我这个错误

循环错误。无效集合 [expires, session_key, ss, user]。必须是有效的结构或 COM 对象。

从那里我推断已调用 init 方法,但未填充 fb 参数。

我现在正在尝试将 Gavin 在 RIAA 上的 FBML API 与该包装器合并。至今没有成功。

我现在很恐慌,这是我的第一个 CF 项目,有点不知所措:)。

需要一些启示:)

先感谢您,

.tre。

4

1 回答 1

3

首先,您不能将Railo 应用程序“移植”到IIS,因为这是两个不同用途的系统。Railo 是 CFML 语言的应用服务器(引擎),例如 Adob​​e ColdFusion。IIS 是网络服务器。IIS(或 Apache)用于服务 HTTP 请求并将它们转发到 CFML 引擎。它可以以不同的方式完成,这只是典型的一个例子。

Railo 和 Adob​​e CF 中的 CFML 语法支持存在一些(大部分是微小的)差异,这就是作者在他的帖子中提到的。

您的错误应该意味着您正在尝试使用类似这样的东西进行循环

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

MyCollection 不是结构数据类型。

尝试在循环开始之前检查此变量,最简单的方法是转储它并查看。

接下来尝试追踪这个数据集是如何构建和填充的,这应该有助于找到问题的根源。

快速查看代码给出了几个可能的地方,可能在makeRequest方法中。

希望这可以帮助。

更新

我想我找到了一个理由。

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的原因之一:)

于 2010-03-11T11:38:29.637 回答