Kann keinen neuen Beitrag über API hinzufügen

Hallo, ich kann keine neuen Beiträge zu einem Thema in meinem Discourse-Forum über die API hinzufügen. Mein Code:

function postComment(topicId, comment) {
  const url = `${DISCOURSE_API_URL}/t/${topicId}/posts.json`; // Stellen Sie sicher, dass diese URL korrekt ist
  Logger.log(`Posting to URL: ${url}`);
  const headers = {
    "Api-Key": DISCOURSE_API_KEY,
    "Api-Username": DISCOURSE_API_USERNAME
  };

  const payload = {
    post: {
      topic_id: topicId,
      raw: comment
    },
  };

  const options = {
    method: "post",
    contentType: "application/json",
    headers: headers,
    payload: JSON.stringify(payload),
    muteHttpExceptions: true, // Um die vollständige Fehlermeldung zu erfassen
  };

  try {
    const response = UrlFetchApp.fetch(url, options);
    const jsonResponse = JSON.parse(response.getContentText());

    // Protokollieren Sie die Antwort zur Fehlerbehebung
    Logger.log(`Response Code: ${response.getResponseCode()}`);
    Logger.log(`Response Body: ${JSON.stringify(jsonResponse, null, 2)}`);

    // Prüfen Sie, ob das Posten erfolgreich war
    if (response.getResponseCode() === 200) {
      Logger.log(`Posted comment successfully: ${JSON.stringify(jsonResponse, null, 2)}`);
    } else {
      Logger.log(`Failed to post comment: ${JSON.stringify(jsonResponse, null, 2)}`);
    }

    return jsonResponse; // Geben Sie die API-Antwort zurück
  } catch (error) {
    Logger.log(`Error posting comment: ${error}`);
    return null; // Geben Sie im Fehlerfall null zurück
  }
}

erhält diese Antwort:

Info
Response Code: 404
3:35:29 PM
Info
Response Body: {
  "errors": [
    "The requested URL or resource could not be found."
  ],
  "error_type": "not_found"
}

obwohl das Forumsthema existiert und ich direkt auf der Forum-Website dazu posten kann.
Bitte helfen Sie mir.

404 bedeutet höchstwahrscheinlich, dass Ihr API-Schlüssel ungültig ist oder nicht korrekt übergeben wird.

Es sei denn, es bedeutet, dass Sie tatsächlich den falschen Pfad verwenden. Wenn Sie die Discourse-API reverse-engineeren für einen Beitrag, ist das der verwendete Pfad?

Ich verwende diesen Pfad: ${DISCOURSE_API_URL}/t/${topicId}/posts.json
wobei DISCOURSE_API_URL = \"https://community.xxxxxxxxxxx.com\"

Ich denke, die URL zum Antworten auf ein Thema über die API ist /posts.json. Beim Erstellen einer Antwort, im Gegensatz zum Erstellen eines neuen Themas, ist die topic_id ein erforderlicher Parameter.

Details finden Sie hier: Discourse API Docs, aber Sie können auch einfach eine Antwort auf ein Thema über die Benutzeroberfläche Ihrer Website erstellen und die RequestURL im Abschnitt „Netzwerk“ des Web-Inspectors Ihres Browsers überprüfen.

2 „Gefällt mir“