下載在GoogleCharts製作QrCode的圖檔
這是從Gg / 使用GoogleCharts快速製作QrCode延伸而來的
基本原理是透過fetch傳遞QR Code的參數到Google QR Code API
取得回傳的QR Code 圖檔
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
function myQR() { //課程代碼 var cId = '3116469'; //fetch傳遞的payload資料設定 var params={ 'chs':'120x120', 'cht':'qr', 'chld':'M|3', 'chl':'https://inservice.edu.tw/NAPP/CourseView.aspx?cid='+cId } //fetch參數設定 var options={ 'menthod':'get', 'payload':params } //Google qr code api var url = 'https://chart.googleapis.com/chart' ; //fetch連線 var hData = UrlFetchApp.fetch(url,options); //伺服器連線情況代碼 var rowRe = hData.getResponseCode(); Logger.log(rowRe); //Logger.log(hData.getContent()); if (rowRe == '200'){ //#1 var fileBlob = hData.getBlob().getAs('image/png').setName('研習代碼-' + cId + '.png'); fileBlob= DriveApp.createFile(fileBlob); //#2 //var fileBlob = Utilities.newBlob(hData.getContent(), 'image/png', '研習代碼-' + cId + '.png'); //fileBlob= DriveApp.createFile(fileBlob); Logger.log('fetch 成功') Logger.log(fileBlob.getDownloadUrl()); }else{ Logger.log('fetch 失敗'); } } |
#2 – 20
是fetch相關參數設定
包含傳入的資料以及連線方式
#23
執行fetch連線
並用代數hData來接收連線的回傳資料
#30 ~ 46
透過判斷式來判斷伺服器情況,成功取的回傳資料才進行檔案處理
儲存回傳的資料方式有2種
hData.getBlob().getAs('image/png').setName('研習代碼-' + cId + '.png');
Utilities.newBlob(hData.getContent(), 'image/png', '研習代碼-' + cId + '.png');
差別在於處理Blob的方式
最後都是透過DriveApp.createFile()產生實體檔案
由於是透過Google Apps Script操作
產生的檔案沒有特別設定的話都是儲存在雲端硬碟的根目錄下