2017-10-01 1 views
0

APIゲートウェイとラムダ関数(AWS)を使用して私のスラックアプリを配布するためにURLをリダイレクトしようとしていますが、コードを取得する方法がわかりません。 返されるイベントはnullです。ディストリビューションスラックアプリケーションへのリダイレクトリンク

マイラムダコード:

// Lambda handler 
exports.handler = (event, context, callback) => { 

    var messageTest = { 
      client_id: CLIENT_ID, 
      client_secret: CLIENT_SECRET, 
      code: event.code 
     }; 

     var queryTest = qs.stringify(messageTest); 
     https.get(`https://slack.com/api/oauth.access?${queryTest}`, (res, err) => { 
     console.log("statusCode: ", res.statusCode); 
      console.log("headers: ", res.headers); 

      var data = []; 
      res.on('data', function(chunk) { 
      data.push(chunk); 
      }); 
      res.on('end', function() { 
      var result = JSON.parse(data.join('')) 
      console.log(result); 
      }); 
     });  

     callback(null); 
}; 

私のリダイレクトURLは、ラムダURLです。 取得するイベントはnullです。

「コード」はどのようにしてoAuth 2.0から取得できますか?あなたはラムダプロキシ統合を使用している(したがって、あなたがボディマッピングテンプレートを使用していない)と仮定すると、

+0

ラムダハンドラのコードではありません。 'コールバック'はどこですか? 'codeone'とは何ですか? – dashmug

+0

あなたは正しいです。私は私の質問を編集して修正する。 – Nofar103

答えて

1

、あなたのAPIゲートウェイに送信JSONペイロードはevent.bodyに文字列化JSONとしてあなたラムダによって受信されます。

だから、最初にそれを解析する必要があり、codeを得ることができます。

const body = JSON.parse(event.body) 
const code = body.code 

参考:Input Format of a Lambda Function for Proxy Integration

+0

ラムダプロキシの統合を有効にしていないときは、それを思い出させるまで、ありがとう、それは仕事です。 – Nofar103

関連する問題