1

我继承了一个运行 Coldfusion 的站点,我正在尝试在该站点上获取 Twitter 提要。我找到了一个似乎可以完成这项工作的工具,并且我已经在 Twitter 上注册了我的应用程序,并且我有我的客户端和 OAuth 代码。

问题是我对 Coldfusion 不够熟悉,无法确切知道我需要在相关页面上放置什么代码来提取推文。这是我正在使用的库:https ://github.com/coldfumonkeh/monkehTweets

据我所知,我的代码应该是这样的:

<cfinvoke 
 component = "component_name" 
 method="method_name" 
 returnvariable="return_variable">
 <cfinvokeargument name="arg1" value="value">
 <cfinvokeargument name="arg2" value="value">
</cfinvoke>

不幸的是,我不知道在这些领域中放什么。似乎没有任何参数列表或您应该在名称、方法和变量字段中输入的内容。我所需要的只是拉三个最近的推文。这可能不是这里问题的标准格式,但非常感谢了解 Coldfusion 的人提供的任何帮助。谢谢!

4

1 回答 1

12

我编写了一个非常基本的演示来从经过身份验证的用户的时间轴中提取和显示信息。

您需要从对象实例化开始,看起来您已经完成了:(显然将您自己的 OAuth / Twitter 详细信息添加到这里的init方法中)

<cfset objmonkehTweet   =   new monkehTweet.com.coldfumonkeh.monkehTweet(
            consumerKey     =   '',
            consumerSecret      =   '',
            oauthToken      =   '',
            oauthTokenSecret    =   '',
            userAccountName     =   '',
            parseResults        =   true
        ) />

parseResults值设置为 true 会将响应转换为可以在 ColdFusion 中转储并轻松读取值的结构或 XML 对象。

接下来,调用getUserTimeline()方法。如果我们不将任何用户 ID 或屏幕名称值传递给方法调用,它将访问经过身份验证的用户的时间线:

<cfset arrStatus = objMonkehTweet.getUserTimeline() />

由于没有发送有关格式的参数,monkeyhTweet 将返回默认响应为 JSON(将parseResults设置为 true,将生成结构数组)。

现在我们可以开始创建循环了。这是非常基本的,但会帮助您启动和运行。

定义要返回的最大推文数:

<cfset totalTweets = 3 />

然后检查数组的长度是谨慎的(以防我们的结果少于所需的最大数量):

<cfif arrayLen(arrStatus) LT totalTweets>
    <cfset totalTweets = arrayLen(arrStatus) />
</cfif>

现在定义一个循环,从 1 开始,最大为totalTweet值:

<cfoutput>
<ul>
<cfloop from="1" to="#totalTweets#" index="tweet">

    <cfset status = objMonkehTweet.entify(arrStatus[tweet]) />      
    <li>#arrStatus[tweet]['user']['name']#: #status#</li>

</cfloop>
</ul>

您现在可以像这样访问每条特定推文:arrStatus[tweet]。MonkehTweet 对象包含一个名为entify的辅助函数,它将任何 URL、用户提及和主题标签转换为 HTML URL 以供显示。只需传入推文对象,它就会为您返回格式化的状态。您还可以直接引用响应中的任何对象,就像我们在此处使用用户名值一样。

要查看返回的内容,最好将整个响应转储出来,以便您可以在显示中查看可访问和使用的内容:

<cfdump var="#arrStatus#" />

我希望这可以帮助您启动和运行。

于 2013-03-08T10:10:39.517 回答