โค้ด Upload รูปภาพ วิดีโอ ผ่าน Line Oa ขึ้น Google Drive ด้วย Google App Script
const LINE_CHANNEL_ACCESS_TOKEN = 'YOUR_LINE_CHANNEL_ACCESS_TOKEN';
const FOLDER_ID = 'YOUR_GOOGLE_DRIVE_FOLDER_ID';
/**
 * DoPost function to handle webhook events
 */
function doPost(e) {
  const json = JSON.parse(e.postData.contents);
  const events = json.events;
  for (let i = 0; i < events.length; i++) {
    const event = events[i];
    const message = event.message;
    if (message.type === 'image' || message.type === 'file') {
      handleFileMessage(event);
    }
  }
  return ContentService.createTextOutput(JSON.stringify({ status: 'success' }));
}
/**
 * Handle image or file message
 */
function handleFileMessage(event) {
  const messageId = event.message.id;
  const url = `https://api-data.line.me/v2/bot/message/${messageId}/content`;
  const headers = {
    'Authorization': 'Bearer ' + LINE_CHANNEL_ACCESS_TOKEN
  };
  const response = UrlFetchApp.fetch(url, { headers: headers, muteHttpExceptions: true });
  const blob = response.getBlob();
  const folder = DriveApp.getFolderById(FOLDER_ID);
  const file = folder.createFile(blob);
  
  // Set file permissions to public
  file.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.VIEW);
  
  // Get the URL of the uploaded file
  const fileUrl = file.getUrl();
  
  // Reply to the user with the file URL
  replyToUser(event.replyToken, `File uploaded successfully. You can access it here: ${fileUrl}`);
}
/**
 * Reply to user
 */
function replyToUser(replyToken, message) {
  const url = 'https://api.line.me/v2/bot/message/reply';
  const headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ' + LINE_CHANNEL_ACCESS_TOKEN
  };
  const payload = {
    replyToken: replyToken,
    messages: [
      {
        type: 'text',
        text: message
      }
    ]
  };
  const options = {
    method: 'post',
    headers: headers,
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };
  UrlFetchApp.fetch(url, options);
}



 
                                    
