上次在這篇文章「OCR 圖像識別測試」,「bot.學習.人」提到了Google 提供了免費的圖像辨識,不過上次還只是假設如果圖檔已經在Google drive 上,程式如何處理,因此,現在的下一步是,如何用Line bot把圖上傳到Google drive,然後作OCR辨識。
程式碼如下,因為Line bot是用Google app script 寫的,所以以下也是app script 的程式碼。
function uploadToGoogleDrive(messageId,channelAccessToken) {透過上面的程式碼,我們可以將傳給Line Bot的圖片,上傳到Google drive , 再結合之前的文章,就可以作「OCR 圖像識別測試」 囉。
const imageUrl = 'https://api-data.line.me/v2/bot/message/' + messageId + '/content';
if (!imageUrl) {
Logger.log('無法取得上傳到Line的圖片URL。');
return null;
// 2. 從 LINE 的 URL 下載圖片的 Blob 資料
}
try {
var lineResponse = UrlFetchApp.fetch(imageUrl, {
headers: {
'Authorization': 'Bearer ' + channelAccessToken
},
method: 'get',
muteHttpExceptions: true
});
var imageBlob = lineResponse.getBlob();
imageBlob.setName(`${messageId}.jpg`); // 設定 Blob 的檔案名稱
} catch (e) {
Logger.log(`uploadGoogleDrive: 抓取 LINE 圖片失敗 - ${e.message}`);
return null;
}
const folder = DriveApp.getFolderById(uploadfolderid);//假設已經有一個google drive folder id
if (folder) {
const driveFile = folder.createFile(imageBlob);
const driveFileId = driveFile.getId();
return driveFileId;
}
}

有空的格友可以試試看,上圖傳給Line bot, 會得到什麼結果,相信熟男熟女會會心一笑。以後去韓國旅遊,看懂韓國歐巴的示意,也不是問題了。





















