找不到CF10 Twitter4j lookupUsers方法或方法重载

时间:2013-06-18 12:32:51

标签: coldfusion twitter4j cfml

我正在使用CFML和Twitter4j来返回时间表和列表。

我想将通话中的数据返回lookupUsers(java.lang.String[] screenNames) 通过Twitter4j。​​

我试过了: -

strList = createObject("java", "java.util.ArrayList");
strList.add(strOriginUser);
originUser = t4j.lookupUsers(strList);

并且: -

strUserString = JavaCast("String", strOriginUser);
originUser = t4j.lookupUsers(strUserString);

我知道t4j对象正在运行,因为我已经使用它来获取时间线等,但这里是为了完整性: -

public function init_twitter() {
    //CONFIGURE twitter4j
    configBuilder = createObject("java", "twitter4j.conf.ConfigurationBuilder");
    configBuilder.setOAuthConsumerKey(#application.twitter_consumer_key#);
    configBuilder.setOAuthConsumerSecret(#application.twitter_consumer_secret#);
    configBuilder.setOAuthAccessToken(#application.twitter_access_token#);
    configBuilder.setOAuthAccessTokenSecret(#application.twitter_access_token_secret#);
    configBuilder.setIncludeEntitiesEnabled(true);
    configBuilder.setJSONStoreEnabled(true);
    config = configBuilder.build();
    twitterFactory = createObject("java", "twitter4j.TwitterFactory").init(config);
    variables.t4j = twitterFactory.getInstance();
    return this;
}

twitter4j文件是: -

  

ResponseList<User> lookupUsers(java.lang.String[] screenNames) throws TwitterException

     

最多返回100个用户的扩展信息,由ID,屏幕名称或两者的组合指定。作者的最新状态(如果身份验证用户具有权限)将以内联方式返回。   此方法调用http://api.twitter.com/1.1/users/lookup.json

     

参数:

     

screenNames - 指定要返回的用户的屏幕名称。

     

返回:   users

1 个答案:

答案 0 :(得分:1)

看起来您正在尝试将ArrayList对象传递给lookupUsers,但该方法仅接受String[](一个字符串数组)作为参数。因此,除非CFML进行转换,否则我认为它无法正常工作。

从粗略地看一下ColdFusion文档,看起来CFML可以隐式地将CFML数组转换为Java数组,所以可能以下方法可行:

screenNames = arrayNew(1);
screenNames[1] = 'Fry';

originUser = t4j.lookupUsers(screenNames);

或者,如果你想继续使用一个列表,那么ArrayList#toArray(T[])可能会有用,虽然我不能说它在CFML中有多大用处。

N.B。请原谅我的CFML代码段。