如何在发布方法中动态使用参数?

问题描述 投票:0回答:1

我需要使用未知数量的参数执行发布方法。每个附件都需要使用...添加

Parameter.with("attached_media[i]", ...
但附件的数量可以改变。如何在此调用中动态添加参数?

GraphResponse publishMessageResponseMSg = facebookClient.publish("me/feed", GraphResponse.class, Parameter.with("message", msg), Parameter.with("published", "false"), Parameter.with("scheduled_publish_time", timeStampStr), Parameter.with("attached_media[0]", "{\"media_fbid\":\""+ publishMessageResponseImg1.getId() +"\"}"), Parameter.with("attached_media[1]", "{\"media_fbid\":\""+ publishMessageResponseImg2.getId() +"\"}"));
    
java restfb
1个回答
0
投票
这个比较简单,直接将数组放入

publish

方法即可。

// create ArrayList with Parameter objects List<Parameter> paramList = new ArrayList<>(); paramList.add(Parameter.with("message",msg)); paramList.add(Parameter.with("published","false")); paramList.add(Parameter.with("scheduled_publish_time",timeStampStr)); for (int i=0; i < 5; i++) { paramList.add(Parameter.with("attached_media["+ i +"]",FileFactory.getFileJson(i)); } // convert List to array Parameter[] params = list.stream().toArray(Parameter[]::new); // publish everything GraphResponse publishMessageResponseMSg = facebookClient.publish("me/feed", GraphResponse.class, params);
    
© www.soinside.com 2019 - 2024. All rights reserved.