1constfunctions=require('firebase-functions');23// // Create and Deploy Your First Cloud Functions
4// // https://firebase.google.com/docs/functions/write-firebase-functions
5//
6exports.helloWorld=functions.https.onRequest((request,response)=>{7response.send("Hello from Firebase!");8});9
ターミナルで以下コマンド実行。
$ firebase deploy
動作確認
サイトをリロードすると、ダッシュボード画面が現れ、URLが表示されるので、そこにアクセス。
「Hello from Firebase!」と表示されればOK。
1constfunctions=require('firebase-functions'); 2 3constclova=require('@line/clova-cek-sdk-nodejs'); 4constexpress=require('express'); 5constbodyParser=require('body-parser'); 6 7constclovaSkillHandler=clova.Client 8.configureSkill() 9.onLaunchRequest(responseHelper=>{10responseHelper.setSimpleSpeech({11lang:'ja',12type:'PlainText',13value:'おはよう',14});15})16.onIntentRequest(asyncresponseHelper=>{17constintent=responseHelper.getIntentName();18constsessionId=responseHelper.getSessionId();1920switch(intent){21case'Clova.YesIntent':22// Build speechObject directly for response
23responseHelper.setSimpleSpeech({24lang:'ja',25type:'PlainText',26value:'はいはい',27});28break;29case'Clova.NoIntent':30// Or build speechObject with SpeechBuilder for response
31responseHelper.setSimpleSpeech(32clova.SpeechBuilder.createSpeechText('いえいえ')33);34break;35}36})37.onSessionEndedRequest(responseHelper=>{38constsessionId=responseHelper.getSessionId();3940// Do something on session end
41})42.handle();4344constapp=newexpress();45constclovaMiddleware=clova.Middleware({applicationId:"YOUR_APPLICATION_ID"});46// Use `clovaMiddleware` if you want to verify signature and applicationId.
47// Please note `applicationId` is required when using this middleware.
48app.post('/clova',clovaMiddleware,clovaSkillHandler);4950// Or you can simply use `bodyParser.json()` to accept any request without verifying, e.g.,
51//app.post('/clova', bodyParser.json(), clovaSkillHandler);
5253exports.clova=functions.https.onRequest(app);54
デプロイ
cd ../
firebase deploy
デプロイ時に
Would you like to proceed with deletion? Selecting no will continue the rest of the deployments.
と聞かれた場合は、Yを入力。
Firebaseコンソールをリロードし、「clova」関数が出来ていることを確認します。
TypeError: Data must be a string or a buffer
at Verify.update (crypto.js:99:16)
at checkSignature (/srv/clov.js:647:10)
at /srv/clov.js:688:21
at step (/srv/clov.js:54:23)
at Object.next (/srv/clov.js:35:53)
at fulfilled (/srv/clov.js:25:58)
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)