자바에서 슬랙의 API를 사용하고 있습니다. 들어오는 Webhook을 사용하여 메시지를 보내는 간단한 코드를 작성하는 방법을 이미 알아 냈습니다. 그러나 getChannels 함수에서 사용 가능한 채널 목록을 수신하는 데 관심이 있습니다.Slack API에서 채널 목록을 가져 오는 방법은 무엇입니까?
문제는 Java에서이 문제에 대한 예제를 찾을 수 없다는 것입니다.
지금, 내 코드는 다음과 같습니다
public void getChannels() throws IOException, SlackApiException{
List<String> channels = slack_.methods().channelsList(ChannelsListRequest.builder().token(token_).build())
.getChannels().stream()
.map(c -> c.getId()).collect(Collectors.toList());
for (String string : channels) {
System.out.println(string);
}
}
하지만 결과는 'javaNullPointException'이었다
package slack;
import com.github.seratch.jslack.Slack;
import java.io.IOException;
import com.github.seratch.jslack.api.methods.SlackApiException;
import com.github.seratch.jslack.api.webhook.*;
public class SlackManager {
private String token_="{myToken}";
private Slack slack_ = Slack.getInstance();
private String url_="{url}";
public void sendMessage(String text, String channel, String name) throws IOException, SlackApiException {
Payload payload = Payload.builder()
.channel("#"+channel)
.username(name)
.iconEmoji(":smile_cat:")
.text(text)
.build();
WebhookResponse response = slack_.send(url_, payload);
System.out.println(response.getMessage().toString());
}
public void getChannels(){
//I don't know how to get the channel list!!!
}
}
는 난이 시도합니다. 토큰은 String이어야합니까?
어떤 목적 않은 토큰'개인 문자열 _ =이 "{myToken}";'역할을? –
아니요, 나중에 필요한 경우에만 해당 – user5872256