Facebook подключиться к Coldfusion 8 - PullRequest
3 голосов
/ 11 марта 2010

Я пытаюсь заставить ColdFusion 8 работать с FB Connect

Я использую CF8 на IIS, Windows Server 2003.

Я использую эту оболочку FB Connect для ColdFusion, написанную Джеймсом Констеблем,

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

Библиотека написана для сервера Railo, мне удалось перенести ее (или я так думаю) на IIS, но она выдает мне эту ошибку

Ошибка цикла. Неверная коллекция [expires, session_key, ss, user]. Должна быть действительной структурой или COM-объектом.

Оттуда я делаю вывод, что был вызван метод init, но параметры fb не заполняются.

Сейчас я пытаюсь объединить API-интерфейс FBML Гевина в RIAA с этой оболочкой. Пока безуспешно.

Сейчас я в панике, это мой первый CF-проект, немного невежественный :).

Нуждается в просветлении:)

Заранее спасибо,

.tre.

1 Ответ

3 голосов
/ 11 марта 2010

Прежде всего, вы не можете "портировать" приложение Railo на IIS, потому что это две системы различного назначения. Railo - это сервер приложений (движок) для языка CFML, такой как Adobe ColdFusion. IIS - это веб-сервер. IIS (или Apache) используется для обслуживания HTTP-запросов и их пересылки в механизм CFML. Это можно сделать по-разному, это всего лишь пример типичного.

Есть некоторые (в основном незначительные) различия в поддержке синтаксиса CFML в Railo и Adobe CF, об этом автор упомянул в своем посте.

Ваша ошибка должна означать, что вы пытаетесь зациклить что-то вроде этого

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

с MyCollection не структуры тип данных.

Попробуйте проверить эту переменную перед началом цикла, самый простой способ - сбросить ее и посмотреть.

Затем попытайтесь отследить, как этот набор данных был сконструирован и заполнен, это должно помочь найти корни проблемы.

Быстрый просмотр кода дает несколько возможных мест этого, возможно, в методе 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"} />

Но не АКФ.

Это одна из причин, почему я люблю Рейло больше:)

...