Discourse フォーラムサーバーにこのAPIを使用して複数のメッセージを送信しようとしています。
私のJavaコード:
public void test()
throws UnirestException, JsonMappingException, JsonProcessingException, InterruptedException {
Unirest.config().cookieSpec(CookieSpecs.IGNORE_COOKIES);
Map<String, String> header = new HashMap<>();
header.put("Content-Type", "application/json");
header.put("Api-Key", [redacted]);
header.put("Api-Username", [redacted]);
header.put("Accept", "application/json");
Unirest.post(URL + "/posts.json")
.headers(header)
.queryString("title","1st Msg")
.queryString("raw", "Message 1")
.queryString("target_recipients", "Kenny")
.queryString("archetype", "private_message")
.asJson();
Unirest.post(URL + "/posts.json")
.headers(header)
.queryString("title","2nd Msg")
.queryString("raw", "Message 2")
.queryString("target_recipients", "Kenny")
.queryString("archetype", "private_message")
.asJson();
}
上記のテストでは、両方のメッセージが正常に送信されました(例外はありませんでした)。問題は、Discourseアカウントにログインした後、最初のメッセージのみが受信され、2番目のメッセージが見つからないことです。
後で、それらの間に20秒の遅延を挿入すると(つまり、コメントで)、両方を受信できることがわかりました。
何が間違っていますか?
私のバージョン:
- Discourse 3.1.0.beta2
- Java 11
- unirest-java 3.14.2