0
Help us understand the problem. What are the problem?

posted at

Slack AppでリクエストURLにLambda(Node.js)の関数URLを指定してYour URL didn't respond with the value of the challenge parameterが出た時の対応

はじめに

Slackアプリの Event Subscriptions -> Enable Events -> Request URLでURL設定時にタイトルのエラーが出た場合の対応方法を整理します。

エラー内容

Your URL didn't respond with the value of the challenge parameter.
  • 内容としてはchallenge パラメータを指定してレスポンスを返していない、という意味です。

結論

Lambda(Node.js)の場合、以下のようなコードを書けばOKです。
challenge のみを含むレスポンスを返却するのがポイントです。

index.js
exports.handler = async (event) => {
    // TODO implement
    console.log(`event=${JSON.stringify(event)}`);
    const event_body_json = JSON.parse(event.body);
    console.log(`challenge=${event_body_json.challenge}`);
    const response = {
        challenge: event_body_json.challenge
    };
    return response;
};

注意点

  • Lambdaで関数生成時にresponseにstatusCode: 200が含まれていますが、外しましょう。
  • statusCode: 200を含めていたために、私の場合はエラーがでてしまい、少し詰まりました。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?