What's new

Help Upload image to google drive using JavaScript

Sisyphus_TheHedgehog

Eternal Poster
Established
Joined
Nov 7, 2014
Posts
928
Reaction
166
Points
320
Henlo po, may pamilyar ba dito paano mag upload ng image/file to specific folder using javascript balak ko sana maglagay sa page na pwede magupload ng image tapos sa gdrive mag sasave at pwede ma retrieve. Salamat
 
Oo, pwede kang mag-upload ng isang imahe o file sa Google Drive gamit ang JavaScript. Upang ma-upload ang isang imahe sa isang partikular na folder, kailangan mong gamitin ang Google Drive API at mag-autentikasyon gamit ang mga API credentials. Narito ang isang halimbawa ng kung paano gawin ito:

1. Lumikha ng isang Google Cloud Platform (GCP) project at i-enable ang Google Drive API.
- Buksan ang You do not have permission to view the full content of this post. Log in or register now..
- Lumikha ng isang bagong proyekto o piliin ang isang umiiral na proyekto.
- Buksan ang "APIs & Services" > "Library" at hanapin ang "Google Drive API".
- I-enable ang "Google Drive API" para sa iyong proyekto.

2. Lumikha ng mga API credentials para sa iyong proyekto.
- Buksan ang "APIs & Services" > "Credentials" at piliin ang "Create Credentials" > "Service Account".
- Magbigay ng isang pangalan para sa iyong serbisyo ng account at i-download ang iyong private key bilang isang JSON file.

3. Isama ang Google Drive API SDK sa iyong webpage.
- Gumamit ng link na ito para isama ang SDK sa iyong HTML file: <script src="https://apis.google.com/js/api.js"></script>

4. Isama ang sumusunod na JavaScript code sa iyong webpage:

Code:
javascript
   // Isama ang Google Drive API SDK
   gapi.load('client', init);

   function init() {
     // I-set ang mga API credentials
     gapi.client.init({
       apiKey: 'YOUR_API_KEY',
       clientId: 'YOUR_CLIENT_ID',
       discoveryDocs: ['https://www.googleapis.com/discovery/v1/apis/drive/v3/rest'],
       scope: 'https://www.googleapis.com/auth/drive.file'
     });

     // Sagutin ang mga kahilingan sa autentikasyon
     gapi.client
       .authorize({
         'client_id': 'YOUR_CLIENT_ID',
         'scope': 'https://www.googleapis.com/auth/drive.file',
         'immediate': true
       })
       .then(function() {
         // Kung matagumpay ang pag-authenticate, tawagin ang pag-andar ng pag-upload
         uploadToDrive();
       });
   }

   function uploadToDrive() {
     // Pangalanan ang file na iu-upload
     var fileName = 'sample-image.jpg';

     // Makuha ang folder ID ng target folder
     var folderId = 'FOLDER_ID';

     // Gumawa ng isang bagong file
     var fileContent = new Blob(['FILE_CONTENT'], { type: 'image/jpeg' });
     var fileMetadata = {
       name: fileName,
       parents: [folderId]
     };
     var file = new File([fileContent], fileName, { type: 'image/jpeg' });

     // Simulan ang pag-upload
     var formData = new FormData();
     formData.append('metadata', new Blob([JSON.stringify(fileMetadata)], { type: 'application/json' }));
     formData.append('file', file);

     // Tawagin ang Google Drive API para sa pag-upload ng file
     gapi.client
       .request({
         'path': '/upload/drive/v3/files',
         'method': 'POST',
         'params': { 'uploadType': 'multipart' },
         'headers': { 'Content-Type': 'multipart/form-data' },
         'body': formData
       })
       .then(function(response) {
         console.log('File uploaded successfully: ', response.result);
       })
       .catch(function(error) {
         console.error('Error uploading file: ', error);
       });
   }

Siguraduhin na palitan ang 'YOUR_API_KEY' at 'YOUR_CLIENT_ID' ng mga API credentials na iyong nakuha. Pati na rin ang 'FOLDER_ID' ng ID ng folder sa iyong Google Drive kung saan mo nais i-save ang imahe.

5. I-save ang iyong HTML file at buksan ito sa isang web browser. Dapat kang ma-autentikahan sa iyong Google account upang mag-upload sa Google Drive.

Sa pamamagitan ng paggamit ng script na ito, maaari mong i-upload ang isang imahe sa isang partikular na folder sa Google Drive mula sa isang webpage. Siguraduhin na mayroon kang mga kinakailangang kredensyal at akma ang mga pahintulot para sa API na ito.
 
Back
Top