1

Google クラウド機能にハングアウト チャット ボットがあります。残りの API の message.update エンドポイントを使用して、ボットが以前にユーザーに送信したメッセージの 1 つを更新したいと考えています。

問題は、ボットが送信したばかりのメッセージのメッセージ ID (名前) を取得する方法がわからないことです。

たとえば、ボットが送信{ text: "hello" }した後、テキストを別のものに変更したい場合。

私の文脈では、ユーザーがボットにメッセージを送信するたびに、それは私の関数を呼び出し、ボットは私が関数から送り返したものに返信します。

したがって、「こんにちは」メッセージを送信するときは、API を使用していないので、リクエストに返信するだけです。

このコンテキストでメッセージの名前を取得する方法はありますか、または取得するには通常の API 呼び出しに切り替える必要があります。

4

1 に答える 1

0

クラウド機能についてはよくわかりませんが、通常の API で取得するか、API ライブラリを使用できます.質問に答えるには、spaces.messages.create を使用してメッセージを作成すると、応答でメッセージ ID が返されます.それを使用できます.更新メッセージ API のメッセージ ID。

メッセージ作成 API からの以下の応答を確認してください。

{
  "name": "spaces/u********E/messages/N*********M.N*********M", **//last one is messageId**

        "sender": {
            "name": "users/1***************2",
            "displayName": "",
            "type": "BOT"
        },
        "text": "hello world",
        "cards": [],
        "previewText": "",
        "annotations": [],
        "thread": {
            "name": "spaces/u********E/threads/N********M"
        },
        "space": {
            "name": "spaces/u********E",
            "type": "DM",
            "displayName": ""
        },
        "fallbackText": "",
        "argumentText": "Hello World",
        "createTime": "2019-03-07T07:44:06.430607Z"
    }

発見文書も参照してください。

https://chat.googleapis.com/$discovery/rest?version=v1

ここでは、ライブラリを使用した作成メッセージの実装を取得します。

https://github.com/googleapis/google-api-nodejs-client/issues/1123#issuecomment-396111871
于 2019-03-07T09:51:42.063 に答える