im
投稿
コメント
ありがとうございます。 JWTを用いたアクセストークンとリフレッシュトークン取得の場合はクライアントシークレットが不正値だと400エラー「Client-id or secret is not valid.」が戻ってくることを確認しました。
API 全般 2022.08.10
自己解決しました。 原因は一番初めの 「privateKey に指定していた秘密鍵が最新のものではない」ことが原因でした。 privateKey を最新の状態にして生成したJWTを用いれば正常にアクセストークンの取得ができることを確認しました(添付画像追加)。 上のコードを貼り付ければJava上でJWTが取得できるので情報共有として残します。
API 全般 2022.05.19
ありがとうございます。 リッチメニューの登録API DocumentのExampleの修正完了はいつ頃を予定しているでしょうか。
2022.05.12
承知いたしました。 ご回答ありがとうございました。
API 全般 2022.05.09
返信が遅れて申し訳ありません。 https://developers.worksmobile.com/jp/reference/bot-richmenu-create?lang=ja のRequestExampleの通り、 "action": { "type": "postback", "label": "label1", "data": "label1", "displayText": "Example displayText1", "postback": "Example postback1", のように設定してPostmanで実行を行ったのですがやはりResponseのJSONにはpostbackが存在しませんでした。また、当該リッチメニュー内のbounds範囲を押下した際のアクションもpostback actionではなく message actionが返却されてしまっている状態です。 お手数ですが、LINEWORKS様が正常にpostbackを取得できたという検証環境(リッチメニュー登録の際のRequestExampleや、postback actionを指定した場合にどのようにデータが戻ってくるか等)を教えていただくことは可能でしょうか。
2022.05.09
返信が遅れて申し訳ありません。 念のため、LINE WORKS側ではどのようなときに本来のメッセージの代わりに「!表示できないトークです」という文章を表示させるようにしているのか、確認をしてもよろしいでしょうか。
2022.05.02
返信ありがとうございます。 以下、実際に用いてるJAVAプログラムのAPI呼び出し部です。 // リクエストヘッダを作成 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); // 自作クラス AccessTokenRequest にアクセストークン再発行に必要なリクエストパラメータを格納 AccessTokenRequest accessTokenRequest = new AccessTokenRequest(); accessTokenRequest.setRefresh_token(refreshToken); accessTokenRequest.setGrant_type("refresh_token"); accessTokenRequest.setClient_id(clientId); accessTokenRequest.setClient_secret(clientSecret); // リクエスト情報の作成 RequestEntity<String> entity = RequestEntity.post(URL_REISSUE_TOKEN) .headers(headers) .body(accessTokenRequest.toString()); try{ //リクエストの送信 RestTemplate restTemplate = new RestTemplate(); ResponseEntity<String> response = restTemplate.exchange(entity, String.class); ←ここで400エラーが発生 ・・・ }・・・ 以下、自作したAccessTokenクラスの中身です。 import lombok.Data; @Data public class AccessTokenRequest { private String refresh_token; private String grant_type; private String client_id; private String client_secret; } 同じ認証情報(リフレッシュトークン)を利用してpostmanで取得できているため、 http requestおよびresponse情報にミス等ありましたらご指摘お願いいたします。
2022.04.22
返信ありがとうございます。 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」が返却される