【问题标题】:CF10 Twitter4j lookupUsers method was not found or method is overloadedCF10 Twitter4j lookupUsers 方法未找到或方法重载
【发布时间】:2013-07-24 01:36:01
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: coldfusion twitter4j cfml


    【解决方案1】:

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

    粗略浏览一下 ColdFusion 文档,看起来 CFML 可以将 CFML 数组隐式转换为 Java 数组,因此以下方法可能会起作用:

    screenNames = arrayNew(1);
    screenNames[1] = 'Fry';
    
    originUser = t4j.lookupUsers(screenNames);
    

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

    注意请原谅我的 CFML 代码 sn-p。

    【讨论】:

    • 完美。我用过:- screenNames = arrayNew(1); screenNames[1] = '炒'; originUser = t4j.lookupUsers(screenNames[1]);现在它起作用了。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2019-03-07
    • 2021-02-02
    相关资源
    最近更新 更多