フレキシブルテンプレートがWebブラウザ上で「!表示できないトークです」と表示される

kiino

2022.04.20既読 845

##やりたいこと

LINEWORKSのBOTを動かし、フレキシブルテンプレートを用いたメッセージ送信Javaで実行させたいと考えております。

##困っていること
Java(Spring Framework)を用いてプログラム内からPOST通信で「https://www.worksapis.com/v1.0/bots/{botId}/users/{userId}/messages」を実行してフレキシブルテンプレートの表示をしようとしているのですが、Webブラウザ版だと正常にメッセージが表示されなくて困っております。
GoogleChromeやEdge、FireFoxの3つで同様のメッセージ(!表示できないトークです)が表示されることを確認しています。
JavaでPOST通信を行った時には「201 Created」のステータスコードが返却されることを確認しています。
フレキシブルテンプレートがWebブラウザ版では下画像のように、「!表示できないトークです」と表示されてしまいます。
##確認したこと
①以下、スマートフォン版から表示されている同様のトーク画面です。3つの緑のボタンを含むフレキシブルテンプレートが正常に表示されています。
​​
テキストメッセージはWebブラウザ版でもスマートフォン版でも正常に表示できています。
Service Account認証 (JWT)はPostmanからAPIを実行してアクセストークンとリフレッシュトークンを発行しました。
Postmanを用いてAPIを実行すると、Webブラウザ版でもスマートフォン版でもフレキシブルテンプレートが正常に表示されました。
​​
原因についてなにかわかればご教授お願いいたします。
​​

コメント5

  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    LINE WORKSブラウザ版でエラー表示になるとのことですが、ご利用のブラウザは何になりますでしょうか?
    別のブラウザ(Chromeをお使いの場合Edgeなど)でも同様の症状は発生いたしますでしょうか?

    また、JAVAプログラム送信したHttp Requestの内容をご確認の上、Flexible TemplateのJson情報が正しく設定されているかどうかをご確認ください。

    2022.04.21

    0
  • 업데이트 된 답글입니다.

    kiino 投稿者

    返信ありがとうございます。

    PCの使用ブラウザはChromeです。EdgeやFireFoxでも確認しましたが同様のメッセージ(!表示できないトークです)が表示されていました。

    また、JavaプログラムのAPI呼び出し部分は以下の通りです。
    同様の方法でテキストメッセージは正常に送信できることが確認できています。
         

           // リクエストヘッダを作成
           HttpHeaders headers = new HttpHeaders();
           headers.setContentType(MediaType.APPLICATION_JSON);
           headers.add("Authorization", "Bearer " + accessToken);
           
           // 自作クラス FlexibleTemplateRequest にフレキシブルテンプレート作成に必要なJSONデータを再現して格納
           FlexibleTemplateRequest flexibleTemplateRequest = new FlexibleTemplateRequest();
           (データ格納部分略)
           
           // リクエスト情報の作成
           RequestEntity<FlexibleTemplateRequest> requestEntity = RequestEntity.post(URL_SEND_MESSAGE)
           .headers(headers)
           .body(flexibleTemplateRequest);
           
           // リクエストの送信
           RestTemplate restTemplate = new RestTemplate();
           ResponseEntity<String> response = restTemplate.exchange(requestEntity, String.class);
           // response.getStatusCode()で「201 created」が返却される

    2022.04.22

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    ブラウザのご確認ありがとうございます。

    ご利用のJavaプログラムではrestTemplate.exchange()でAPI Http Requestを行っているかと思います。
    恐らくはRequestEntityがAPI Http Request実行内容になるかと思いますが、詳細につきましてはspringframeworkの開発元にご確認ください。
    また、パケットキャプチャなどの手段でHttp Requestの実行内容を確認することができます。ご参考ください。

    2022.04.25

    0
  • 업데이트 된 답글입니다.

    kiino 投稿者

    返信が遅れて申し訳ありません。

    念のため、LINE WORKS側ではどのようなときに本来のメッセージの代わりに「!表示できないトークです」という文章を表示させるようにしているのか、確認をしてもよろしいでしょうか。

    2022.05.02

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    Error処理のパターンについては非公開情報となりますため、お答えすることができません。
    実際のHttp Requestの実行内容にてご確認ください。

    2022.05.09

    0
前の投稿 API1.0→2.0変更仕様の確認
次の投稿Access Token の取得について、Postmanからだと取得できるが、Javaからだと取得できない
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。