Υποστηρίζει το Google Drive PHP
Μεταφορτώστε το αρχείο στο Google Drive χρησιμοποιώντας το PHP
Περίληψη:
Google Drive είναι μια υπηρεσία αποθήκευσης cloud που επιτρέπει στους χρήστες να αποθηκεύουν και να μοιράζονται αρχεία. Σε αυτό το άρθρο, θα συζητήσουμε πώς να ανεβάσετε αρχεία στο Google Drive χρησιμοποιώντας PHP. Θα καλύψουμε τα βήματα που εμπλέκονται στην οικοδόμηση ενός σεναρίου PHP για να ανεβάσετε αρχεία στο Google Drive και να εξηγήσετε λεπτομερώς τη διαδικασία. Το άρθρο θα παρέχει επίσης οδηγίες σχετικά με τον τρόπο δημιουργίας ενός έργου Google και θα ενεργοποιήσει το API Drive, καθώς και τον τρόπο δημιουργίας ενός πίνακα βάσης δεδομένων για την αποθήκευση πληροφοριών αρχείου.
Βασικά σημεία:
1. Εγκατάσταση της βιβλιοθήκης πελατών PHP: Πριν ξεκινήσετε, θα πρέπει να εγκαταστήσετε τη βιβλιοθήκη πελάτη PHP για το Google Drive. Οι οδηγίες για εγκατάσταση μπορούν να βρεθούν στη βιβλιοθήκη πελάτη Google API PHP ReadMe.
2. Υποστηρίζει το Google Drive PHP?: Ναι, το Google Drive υποστηρίζει την PHP. Παρέχει μια υπηρεσία REST API που σας επιτρέπει να μεταφορτώσετε και να διαχειριστείτε προγραμματικά αρχεία στο Google Drive χρησιμοποιώντας το PHP.
3. Μεταφόρτωση αρχείων στο Google Drive: Για να μεταφορτώσετε αρχεία στο Google Drive χρησιμοποιώντας το PHP, θα χρειαστεί να δημιουργήσετε μια φόρμα HTML για να επιλέξετε το αρχείο για μεταφόρτωση. Το αρχείο θα μεταφορτωθεί στον τοπικό διακομιστή και οι πληροφορίες του θα εισαχθούν στη βάση δεδομένων. Ο χρήστης θα χρειαστεί να πιστοποιήσει με τον λογαριασμό του Google και το αρχείο θα μεταφορτωθεί στο Google Drive από το σενάριο PHP. Θα εμφανιστεί η κατάσταση μεταφόρτωσης αρχείων, μαζί με έναν σύνδεσμο για να δείτε το αρχείο στο Google Drive.
4. Δημιουργία έργου Google και Ενεργοποίηση API Drive: Για να πραγματοποιήσετε κλήσεις API στο Google Drive, θα χρειαστείτε κλειδιά API. Μπορείτε να αποκτήσετε αυτά τα κλειδιά δημιουργώντας ένα έργο Google και ενεργοποιώντας το API Drive Drive. Οι οδηγίες σχετικά με τον τρόπο δημιουργίας ενός έργου Google και ενεργοποιήστε το API Drive παρέχονται στο άρθρο.
5. Δημιουργία πίνακα βάσης δεδομένων: Για να αποθηκεύσετε πληροφορίες αρχείου στον τοπικό διακομιστή, θα χρειαστεί να δημιουργήσετε έναν πίνακα βάσης δεδομένων. Το άρθρο περιλαμβάνει οδηγίες σχετικά με τον τρόπο δημιουργίας του απαραίτητου πίνακα.
Ερωτήσεις:
1. Πώς μπορώ να εγκαταστήσω τη βιβλιοθήκη πελάτη PHP για το Google Drive?
Για να εγκαταστήσετε τη Βιβλιοθήκη Πελατών PHP για το Google Drive, μπορείτε να ακολουθήσετε τις οδηγίες που παρέχονται στο Google API PHP πελάτη Βιβλιοθήκη ReadMe. Βεβαιωθείτε ότι έχετε ελέγξει για την πιο πρόσφατη έκδοση της βιβλιοθήκης στο Repository Packages PHP.
2. Μπορώ να χρησιμοποιήσω το PHP για να μεταφορτώσω αρχεία στο Google Drive?
Ναι, το Google Drive υποστηρίζει την PHP. Μπορείτε να χρησιμοποιήσετε PHP για να μεταφορτώσετε προγραμματικά αρχεία στο Google Drive χρησιμοποιώντας το API Drive.
3. Ποια είναι τα βήματα που εμπλέκονται στη μεταφόρτωση αρχείων στο Google Drive χρησιμοποιώντας το PHP?
Τα βήματα που εμπλέκονται στη μεταφόρτωση αρχείων στο Google Drive χρησιμοποιώντας το PHP είναι τα εξής:
- Δημιουργήστε μια φόρμα HTML για να επιλέξετε το αρχείο για μεταφόρτωση.
- Μεταφορτώστε το αρχείο στον τοπικό διακομιστή και εισαγάγετε τις πληροφορίες του στη βάση δεδομένων.
- Πιστοποίηση του χρήστη με τον λογαριασμό του Google.
- Μεταφορτώστε το αρχείο στο Google Drive από το σενάριο PHP.
- Εμφάνιση της κατάστασης μεταφόρτωσης αρχείων και δώστε έναν σύνδεσμο για να δείτε το αρχείο στο Google Drive.
4. Πώς μπορώ να δημιουργήσω ένα έργο Google και να ενεργοποιήσω το API Drive Drive?
Για να δημιουργήσετε ένα έργο Google και να ενεργοποιήσετε το API Drive, μπορείτε να ακολουθήσετε αυτά τα βήματα:
- Μεταβείτε στην κονσόλα API Google.
- Επιλέξτε ένα υπάρχον έργο ή δημιουργήστε ένα νέο.
- Στην πλαϊνή μπάρα, επιλέξτε “Βιβλιοθήκη” στην ενότητα “APIS & SERVICES”.
- Αναζητήστε το API Google Drive και ενεργοποιήστε το.
- Εισαγάγετε τα στοιχεία της αίτησής σας και καθορίστε τους εξουσιοδοτημένους τομείς.
- Επιλέξτε τον τύπο εφαρμογής ως “εφαρμογή Web” και δώστε την εξουσιοδοτημένη URIS Redirect URIS.
- Σημειώστε το αναγνωριστικό πελάτη και το μυστικό πελάτη για μεταγενέστερη χρήση.
5. Πρέπει να δημιουργήσω έναν πίνακα βάσης δεδομένων για να μεταφορτώσω αρχεία στο Google Drive χρησιμοποιώντας το PHP?
Ναι, θα χρειαστεί να δημιουργήσετε έναν πίνακα βάσης δεδομένων για να αποθηκεύσετε πληροφορίες αρχείου στον τοπικό διακομιστή. Αυτός ο πίνακας θα χρησιμοποιηθεί για την εισαγωγή των πληροφοριών του αρχείου πριν μεταφορτώσει το στο Google Drive.
6. Πώς μπορώ να δω το αρχείο που μεταφορτώθηκε στο Google Drive χρησιμοποιώντας PHP?
Μετά τη μεταφόρτωση του αρχείου στο Google Drive χρησιμοποιώντας το PHP, μπορείτε να δώσετε έναν σύνδεσμο για να δείτε το αρχείο στο Google Drive. Ο σύνδεσμος μπορεί να δημιουργηθεί χρησιμοποιώντας το μοναδικό αναγνωριστικό του αρχείου που παρέχεται από το API Drive.
7. Μπορώ να ανεβάσω πολλά αρχεία στο Google Drive χρησιμοποιώντας το PHP?
Ναι, μπορείτε να ανεβάσετε πολλά αρχεία στο Google Drive χρησιμοποιώντας το PHP. Μπορείτε να τροποποιήσετε το σενάριο PHP για να χειριστείτε πολλαπλές μεταφορτώσεις αρχείων και να τις μεταφορτώσετε στο Google Drive ένα προς ένα.
8. Υπάρχει κάποιο όριο μεγέθους αρχείου για τη μεταφόρτωση αρχείων στο Google Drive χρησιμοποιώντας PHP?
Το Google Drive διαθέτει όριο μεγέθους αρχείου 5 TB για μεμονωμένα αρχεία. Ωστόσο, ορισμένοι περιορισμοί ενδέχεται να ισχύουν με βάση το πρόγραμμα αποθήκευσης του Google Drive. Βεβαιωθείτε ότι έχετε ελέγξει το όριο αποθήκευσης του λογαριασμού σας στο Google Drive.
9. Πώς μπορώ να χειριστώ σφάλματα μεταφόρτωσης αρχείων κατά τη μεταφόρτωση αρχείων στο Google Drive χρησιμοποιώντας το PHP?
Για να χειριστείτε σφάλματα μεταφόρτωσης αρχείων κατά τη μεταφόρτωση αρχείων στο Google Drive χρησιμοποιώντας PHP, μπορείτε να εφαρμόσετε μηχανισμούς χειρισμού σφαλμάτων στο σενάριο PHP σας. Μπορείτε να ελέγξετε για κοινά σφάλματα, όπως το όριο μεγέθους αρχείου, υπερβαίνει το όριο αρχείου, η μη έγκυρη μορφή αρχείου ή ο ανεπαρκής χώρος αποθήκευσης στο Google Drive.
10. Μπορώ να διαγράψω αρχεία από το Google Drive χρησιμοποιώντας το PHP?
Ναι, μπορείτε να διαγράψετε αρχεία από το Google Drive χρησιμοποιώντας το PHP. Το API Drive παρέχει μεθόδους για τη διαγραφή αρχείων από το Google Drive προγραμματικά. Μπορείτε να χρησιμοποιήσετε αυτές τις μεθόδους στο σενάριο PHP για να διαγράψετε αρχεία με βάση τις απαιτήσεις σας.
Μεταφορτώστε το αρχείο στο Google Drive χρησιμοποιώντας το PHP
Θα χρειαστεί να εγκαταστήσετε τη βιβλιοθήκη πελατών PHP αυτό μπορεί να γίνει χρησιμοποιώντας το Composer. Οι οδηγίες για αυτό μπορούν να βρεθούν στη βιβλιοθήκη πελάτη Google API PHP ReadMe. Συνιστώ τον έλεγχο για τον πιο πρόσφατο αριθμό έκδοσης στο χώρο αποθήκευσης PHP Packages
Υποστηρίζει το Google Drive PHP
Э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э
Ы з з з з з з з и и и и п п п п п п з п з з з з з з з з з п. С п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п. ПOчем э э э э э э э э э э э п п п п п п п?
Э э э э э а а а а и е е з з л л л л л л л э э э э э э э э э э э э Κοιτάζοντας το ριμπάγ. С с п п п п п э э э э э э э э э э э э э э э э э э э э э э э э э э э э. Д э э э э д д д и и д д д ρίας н и д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д.
И и з а а а а а а а а ы ы з .. Е е е е д п п ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж п п п п п п п п п п п п п п п п п. Орrρά. Пороннαι.
ПON п п е е а а τροφή пρέφ а а а а а τροφήλου. е е е и τροφή ее же жÉ в в ж и и и и ч ч.
Μεταφορτώστε το αρχείο στο Google Drive χρησιμοποιώντας το PHP
Google Drive είναι μια μηχανή αποθήκευσης cloud που επιτρέπει στους χρήστες να αποθηκεύουν και να μοιράζονται αποτελεσματικά αρχεία. Τα αρχεία συγχρονίζονται σε όλες τις συσκευές και είναι προσβάσιμα από οπουδήποτε. Το Google Drive κάνει τη διαχείριση εγγράφων εύκολη χωρίς προσωπική αποθήκευση. Μπορείτε επίσης να διαχειριστείτε αρχεία και φακέλους στο Google Drive εξ αποστάσεως χρησιμοποιώντας το API Drive Drive.
ο Οδήγηση API Επιτρέπει τη διαχείριση αρχείων και φακέλων που είναι αποθηκευμένοι στο Google Drive. Μπορείτε να ανεβάσετε και να διαχειριστείτε αρχεία από τον ιστότοπο χρησιμοποιώντας το Google Drive API. Εάν η εφαρμογή Web απαιτεί για να επιτρέψει στους χρήστες να έχουν πρόσβαση ή να διαχειρίζονται τα αρχεία Google Drive, το API Drive παρέχει έναν απλό τρόπο μεταφόρτωσης αρχείων στο Google Drive προγραμματικά με την υπηρεσία REST API. Αυτό το σεμινάριο εξηγεί πώς να Μεταφορτώστε το αρχείο στο Google Drive χρησιμοποιώντας το PHP.
Σε αυτό το παράδειγμα σενάριο PHP, θα εφαρμοστεί η ακόλουθη διαδικασία Μεταφορτώστε αρχεία στο Google Drive με PHP.
- Δημιουργήστε μια φόρμα HTML για να επιλέξετε αρχείο για μεταφόρτωση.
- Μεταφορτώστε το αρχείο στον τοπικό διακομιστή και εισαγάγετε πληροφορίες αρχείου στη βάση δεδομένων.
- Επικύρωση χρήστη με λογαριασμό Google.
- Μεταφορτώστε το αρχείο στο Google Drive από το σενάριο PHP.
- Εμφάνιση της κατάστασης μεταφόρτωσης αρχείων με έναν σύνδεσμο για προβολή αρχείου στο Google Drive.
Πριν ξεκινήσετε να χτίζετε ένα σενάριο PHP Μεταφορτώστε το αρχείο στο Google Drive Χρησιμοποιώντας το PHP, ρίξτε μια ματιά στη δομή του αρχείου.
google_drive_file_upload_with_php/ ├Π Config.php ├ ├ .. dbconfig.Δείκτης PHP ├ ..php ├ ├ ─ upload.PHP ├Π Google_drive_sync.php ├ ├ Googledriveapi.τάξη.PHP └Π CSS/ └ στυλ στυλ.CSS
Δημιουργήστε το έργο Google και ενεργοποιήστε το API Drive
Το έργο Google απαιτείται για να λάβει τα κλειδιά API που θα χρησιμοποιηθούν για την πραγματοποίηση κλήσεων API στο Google Drive. Εάν έχετε ήδη μια υπάρχουσα εφαρμογή Google, τα κλειδιά API μπορούν να χρησιμοποιηθούν από αυτήν. Απλά βεβαιωθείτε ότι το API Google Drive είναι ενεργοποιημένο σε αυτό το υπάρχον έργο Google. Αν δεν είσαι’T Οποιεσδήποτε εφαρμογές Google, ακολουθήστε τα παρακάτω βήματα για να καταχωρίσετε την αίτησή σας στην κονσόλα προγραμματιστών Google και να λάβετε τα κλειδιά API.
- Μεταβείτε στην κονσόλα API Google.
- Επιλέξτε ένα υπάρχον έργο από τη λίστα έργων ή κάντε κλικ στο κουμπί Νέο έργο Για να δημιουργήσετε ένα νέο έργο:

- Πληκτρολογώ Όνομα έργου.
- Το αναγνωριστικό του έργου θα δημιουργηθεί αυτόματα στο πεδίο Όνομα του έργου. (Προαιρετικό) Μπορείτε να αλλάξετε αυτό το αναγνωριστικό του έργου από το Επεξεργασία σύνδεσμος, αλλά θα πρέπει να είναι μοναδικό παγκοσμίως.
- Κάντε κλικ στο ΔΗΜΙΟΥΡΓΩ κουμπί.
- Στην πλαϊνή μπάρα, επιλέξτε Βιβλιοθήκη σύμφωνα με το APIs & Services Ενότητα.
- Αναζητήστε την υπηρεσία Google Drive API στη λίστα API και επιλέξτε API Google Drive.
- Κάντε κλικ στο ΕΠΙΤΡΕΠΩ κουμπί για να κάνετε τη βιβλιοθήκη Google Drive API διαθέσιμη.
- Εισαγάγετε το όνομα της εφαρμογής.
- Επιλέξτε ένα email υποστήριξης.
- Καθορίστε το Εξουσιοδοτημένοι τομείς που θα επιτρέπεται να πιστοποιήσει τον έλεγχο της χρήσης OAuth.
- Κάντε κλικ στο Αποθηκεύσετε κουμπί.
- Στο Τύπος αίτησης Ενότητα, επιλέξτε εφαρμογή ιστού.
- Στο Εξουσιοδοτημένη ανακατεύθυνση URIS πεδίο, καθορίστε τη διεύθυνση URL ανακατεύθυνσης.
- Κάντε κλικ στο Δημιουργώ κουμπί.
Ένα παράθυρο διαλόγου θα εμφανιστεί με λεπτομέρειες πελάτη OAuth, σημειώστε το αναγνωριστικό πελάτη και το μυστικό πελάτη για μεταγενέστερη χρήση στο σενάριο. Αυτό το αναγνωριστικό πελάτη και το μυστικό πελάτη σας επιτρέπουν να έχετε πρόσβαση στο API Google Drive.

Σημειώστε ότι: το ταυτότητα πελάτη και Μυστικός πελάτης πρέπει να καθοριστεί κατά τη στιγμή της κλήσης API Google Drive. Επίσης, τα εξουσιοδοτημένα URIs Redirect πρέπει να ταιριάζουν με τη διεύθυνση ανακατεύθυνσης που καθορίζεται στο σενάριο.
Δημιουργία πίνακα βάσης δεδομένων
Απαιτείται ένας πίνακας στη βάση δεδομένων για την αποθήκευση πληροφοριών αρχείου στον τοπικό διακομιστή. Το ακόλουθο SQL δημιουργεί έναν πίνακα drive_files με ορισμένα βασικά πεδία στη βάση δεδομένων MySQL.
ΔΗΜΙΟΥΡΓΩ ΤΡΑΠΕΖΙ `drive_files ' ( `id ' int(11· ΔΕΝ ΜΗΔΕΝΙΚΟ ΑΥΤΟΜΑΤΗ ΑΥΞΗΣΗ, `file_name ' φουρκέτα(255· ΑΝΤΙΠΑΡΑΒΑΛΛΩ UTF8_UNICODE_CI ΠΡΟΚΑΘΟΡΙΣΜΕΝΟ ΜΗΔΕΝΙΚΟ, `google_drive_file_id ' φουρκέτα(255· ΑΝΤΙΠΑΡΑΒΑΛΛΩ UTF8_UNICODE_CI ΠΡΟΚΑΘΟΡΙΣΜΕΝΟ ΜΗΔΕΝΙΚΟ, «Δημιουργία» ημερομηνία ώρα ΔΕΝ ΜΗΔΕΝΙΚΟ ΠΡΟΚΑΘΟΡΙΣΜΕΝΟ Τρέχουσα_Timestamp(), Πρωτεύουσα ΚΛΕΙΔΙ (`id 'Ουσία ΚΙΝΗΤΗΡΑΣ=Innodb ΠΡΟΚΑΘΟΡΙΣΜΕΝΟ Ριψοκίνδυνος= UTF8 ΑΝΤΙΠΑΡΑΒΑΛΛΩ= UTF8_UNICODE_CI;
Βιβλιοθήκη PHP Google Drive API
Η Google παρέχει μια βιβλιοθήκη πελατών PHP για να κάνει κλήσεις API Drive, αλλά περιέχει πολλές πρόσθετες υπηρεσίες που διαθέτουν τεράστιο αριθμό αρχείων και έχουν μεγάλο μέγεθος. Για να κάνουμε τη διαδικασία απλή, θα δημιουργήσουμε μια προσαρμοσμένη βιβλιοθήκη για να χειριστούμε τις κλήσεις API Google Drive με PHP.
Μας Βιβλιοθήκη Google API Βοηθά στον έλεγχο ταυτότητας με το λογαριασμό Google και να αποκτήσετε πρόσβαση στο API Drive με API REST χρησιμοποιώντας Curl PHP. Αυτή η προσαρμοσμένη βιβλιοθήκη PHP θα χρησιμοποιήσει Google Drive V3 API Για να χειριστείτε τη διαδικασία μεταφόρτωσης αρχείων.
- GetAccessToken () – Αποκτήστε το διακριτικό πρόσβασης από το Google OAuth 2 API χρησιμοποιώντας τον κωδικό ελέγχου ταυτότητας.
- UploadFileTodrive () – Αποστολή αρχείου στο Google Drive για μεταφόρτωση χρησιμοποιώντας το REST API.
- UpdateFilemeta () – Ενημέρωση μεταδεδομένων του αρχείου μεταφορτωμένου στο Google Drive.
/**
*
* Αυτή η κλάση χειριστή API Google Drive είναι μια προσαρμοσμένη βιβλιοθήκη PHP για να χειριστεί τις κλήσεις API Google Drive Drive.
*
* @class googledriveapi
* @author codexworld
* @link http: // www.κώδικας.com
* @version 1.0
*/
τάξη Googledriveapi <
κονσερβός Oauth2_token_uri = 'https: // oauth2.Googleapis.com/token ';
κονσερβός Drive_file_upload_uri = 'https: // www.Googleapis.com/upload/drive/v3/αρχεία ';
κονσερβός Drive_file_meta_uri = 'https: // www.Googleapis.com/drive/v3/αρχεία/';
λειτουργία __κατασκευάσει($ params = Array ()) <
αν (μετρώ($ params) 0· <
$->προετοιμάζω($ params)
>
>
λειτουργία προετοιμάζω($ params = Array ()) <
αν (μετρώ($ params) 0· <
για κάθε ($ params όπως και $ κλειδί => $ val· <
αν (isset ($->$ κλειδίΟυσία <
$->$ κλειδί = $ val;
>
>
>
>
δημόσια λειτουργία GetAccesstoken($ client_id, $ redirect_uri, $ client_secret, κωδικός $· <
$ curlpost = 'client_id =' . $ client_id . '& redirect_uri =' . $ redirect_uri . '& client_secret =' . $ client_secret . '& κωδικός ='. κωδικός $ . '& grant_type = Authorization_code';
$ ch = καραμέλα();
καραμέλα($ ch, Curlopt_url, εαυτός::Oauth2_token_uri)
καραμέλα($ ch, Curlopt_returntransfer, 1)
καραμέλα($ ch, Curlopt_post, 1)
καραμέλα($ ch, Curlopt_ssl_verifypeer, ΨΕΥΔΗΣ)
καραμέλα($ ch, Curlopt_postfields, $ curlpost)
$ δεδομένα = json_decode(καραμέλα($ ch·, αληθής)
$ $ http_code = καραμέλα($ ch,Curlinfo_http_code)
αν ($ $ http_code != 200· <
$ error_msg = «Αποτυχία λήψης διακριτικού πρόσβασης»;
αν (καραμέλα($ chΟυσία <
$ error_msg = μπούρου($ ch)
>
ρίχνω νέα Εξαίρεση('Λάθος '.$ $ http_code.':'.$ error_msg)
>
ΕΠΙΣΤΡΟΦΗ $ δεδομένα;
>
δημόσια λειτουργία Μεταφορτωμένος($ access_token, $ file_content, $ mime_type· <
$ apiurl = εαυτός::Drive_file_upload_uri . "?uploadtype = media ';
$ ch = καραμέλα();
καραμέλα($ ch, Curlopt_url, $ apiurl)
καραμέλα($ ch, Curlopt_returntransfer, 1)
καραμέλα($ ch, Curlopt_post, 1)
καραμέλα($ ch, Curlopt_ssl_verifypeer, ΨΕΥΔΗΣ)
καραμέλα($ ch, Curlopt_httpheader, πίνακας('Τύπος περιεχομένου: '.$ mime_type, «Εξουσιοδότηση: κομιστής». $ access_token))
καραμέλα($ ch, Curlopt_postfields, $ file_content)
$ δεδομένα = json_decode(καραμέλα($ ch·, αληθής)
$ $ http_code = καραμέλα($ ch,Curlinfo_http_code)
αν ($ $ http_code != 200· <
$ error_msg = «Αποτυχία μεταφόρτωσης αρχείου στο Google Drive»;
αν (καραμέλα($ chΟυσία <
$ error_msg = μπούρου($ ch)
>
ρίχνω νέα Εξαίρεση('Λάθος '.$ $ http_code.':'.$ error_msg)
>
ΕΠΙΣΤΡΟΦΗ $ δεδομένα['ταυτότητα'];
>
δημόσια λειτουργία ΕνημέρωσηFilemeta($ access_token, $ file_id, $ file_meatadata· <
$ apiurl = εαυτός::Drive_file_meta_uri . $ file_id;
$ ch = καραμέλα();
καραμέλα($ ch, Curlopt_url, $ apiurl)
καραμέλα($ ch, Curlopt_returntransfer, 1< /span>)
καραμέλα($ ch, Curlopt_post, 1)
καραμέλα($ ch, Curlopt_ssl_verifypeer, ΨΕΥΔΗΣ)
καραμέλα($ ch, Curlopt_httpheader, πίνακας("Τύπος περιεχομένου: Εφαρμογή/JSON", «Εξουσιοδότηση: κομιστής». $ access_token))
καραμέλα($ ch, Curlopt_customRequest, 'ΚΗΛΙΔΑ')
καραμέλα($ ch, Curlopt_postfields, json_encode($ file_meatadata))
$ δεδομένα = json_decode(καραμέλα($ ch·, αληθής)
$ $ http_code = καραμέλα($ ch,Curlinfo_http_code)
αν ($ $ http_code != 200· <
$ error_msg = «Αποτυχία ενημέρωσης μεταδεδομένων αρχείων»;
αν (καραμέλα($ chΟυσία <
$ error_msg = μπούρου($ ch)
>
ρίχνω νέα Εξαίρεση('Λάθος '.$ $ http_code.':'.$ error_msg)
>
ΕΠΙΣΤΡΟΦΗ $ δεδομένα;
>
>
?>
Διαμόρφωση βάσης δεδομένων και API (config.PHP)
Στο config.Αρχείο PHP, Ρυθμίσεις βάσης δεδομένων και Google API Οι σταθερές μεταβλητές σταθερές μεταβλητές.
Σταθερές βάσης δεδομένων:
- Db_host – Καθορίστε τον κεντρικό υπολογιστή βάσης δεδομένων.
- DB_USERNAME – Καθορίστε το όνομα χρήστη της βάσης δεδομένων.
- DB_Password – Καθορίστε τον κωδικό πρόσβασης βάσης δεδομένων.
- Db_name – Καθορίστε το όνομα της βάσης δεδομένων.
Google API Contants:
- Google_client_id – Καθορίστε το αναγνωριστικό πελάτη Google Project.
- Google_client_secret – Καθορίστε το μυστικό του προγράμματος -πελάτη του έργου Google.
- Google_oauth_scope – Καθορίστε το πεδίο OAuth για τον έλεγχο ταυτότητας Google (ρυθμίστε σε https: // www.Googleapis.com/auth/drive).
- Redirect_uri – Καθορίστε τη διεύθυνση URL επανάκλησης.
Google oauth url:
- $ googleoauthurl – Η διεύθυνση URL που επιτρέπει στον χρήστη να πιστοποιεί τον έλεγχο με τον λογαριασμό Google.
// Διαμόρφωση βάσης δεδομένων
καθορίζω('DB_HOST', 'Mysql_database_host')
καθορίζω('DB_USERNAME', 'Mysql_database_username')
καθορίζω('DB_Password', 'Mysql_database_password')
καθορίζω('Db_name', 'Mysql_database_name')
// Διαμόρφωση API Google
καθορίζω('Google_client_id', 'Google_project_client_id')
καθορίζω('Google_client_secret', 'Google_project_client_secret')
καθορίζω('Google_oauth_scope', 'https: // www.Googleapis.com/auth/drive ')
καθορίζω('Redirect_uri', 'https: // www.παράδειγμα.com/google_drive_sync.PHP ')
// START Session
αν(!σύνοδος()) session_start();
// google oauth url
$ googleoauthurl = 'https: // λογαριασμούς.Google.com/o/oauth2/auth?Πεδίο εφαρμογής = ' . urlencode(Google_oauth_scope· . '& redirect_uri =' . Ανακατεύθυνση_uri . '& Response_type = Code & Client_id =' . Google_client_id . '& access_type = online';
?>
Σημειώστε ότι: Το αναγνωριστικό πελάτη και το μυστικό πελάτη μπορείτε να βρείτε στη σελίδα Google API Manager του έργου κονσόλας API.
Σύνδεση βάσης δεδομένων (dbconfig.PHP)
Το dbconfig.Το αρχείο PHP χρησιμοποιείται για τη σύνδεση και την επιλογή της βάσης δεδομένων MySQL χρησιμοποιώντας PHP.
// Συμπεριλάβετε αρχείο διαμόρφωσης
require_once 'Config.PHP ';
// Δημιουργία σύνδεσης βάσης δεδομένων
$ db = Νέο Mysqli(Db_host, Db_username, Db_password, Db_name)
// Ελέγξτε τη σύνδεση
αν ($ db->connect_error· <
καλούπι("Αποτυχημένη σύνδεση: " . $ db->connect_error)
>
Φόρμα μεταφόρτωσης αρχείου (ευρετήριο.PHP)
Δημιουργήστε μια φόρμα HTML για να επιλέξετε αρχείο για μεταφόρτωση οποιουδήποτε τύπου αρχείων (.jpg, .jpeg, .PNG, .PDF, .XLSX, .CSV, κ.λπ.).
- Το χαρακτηριστικό ENCTYPE πρέπει να οριστεί στο < form >ετικέτα για τη μεταφόρτωση αρχείων.
- Κατά την υποβολή, τα δεδομένα αρχείων δημοσιεύονται στο σενάριο από την πλευρά του διακομιστή (μεταφόρτωση.PHP) για περαιτέρω επεξεργασία.
// Συμπεριλάβετε αρχείο διαμόρφωσης
Συμπεριλάβετε_once 'Config.PHP ';
Κατάσταση $ = $ statusmsg = '';
αν(!αδειάζω($ _Session['status_response']) <
$ status_response = $ _Session['status_response'];
Κατάσταση $ = $ status_response['κατάσταση'];
$ statusmsg = $ status_response['status_msg'];
unset ($ _Session['status_response'])
>
?> αν(!αδειάζω($ statusmsgΟυσία ?> δοχείο τάξη="Ειδοποίηση ειδοποίησης- ηχώ Κατάσταση $; ?>«> ηχώ $ statusmsg; ?> δοχείο> > ?> δοχείο τάξη="COL-MD-12"> μορφή μέθοδος="Θέση" δράση="Μεταφορτώστε.PHP " τάξη="μορφή" εγκάρσιος="Multipart/Form-Data"> δοχείο τάξη="Ομάδα φόρμας"> επιγραφή>Ετικέτα αρχείου> εισαγωγή τύπος="αρχείο" όνομα="αρχείο" τάξη="Έλεγχος φόρμας"> δοχείο> δοχείο τάξη="Ομάδα φόρμας"> εισαγωγή τύπος="υποβάλλουν" τάξη="Έλεγχος φόρμας Btn-Primary" όνομα="υποβάλλουν" αξία="Μεταφόρτωση"/> δοχείο> μορφή> δοχείο>
Αποθηκεύστε το αρχείο στη βάση δεδομένων (μεταφόρτωση.PHP)
Η μεταφόρτωση.Το αρχείο PHP χειρίζεται τη μεταφόρτωση αρχείων στη διαδικασία εισαγωγής PHP και δεδομένων στη βάση δεδομένων MySQL.
- Λάβετε πληροφορίες αρχείου από το πεδίο εισόδου χρησιμοποιώντας Php $ _files μεταβλητός.
- Επικυρώστε την είσοδο για να ελέγξετε εάν τα υποχρεωτικά πεδία είναι κενά.
- Μεταφορτώστε το αρχείο στον τοπικό διακομιστή και εισαγάγετε δεδομένα αρχείων στη βάση δεδομένων χρησιμοποιώντας PHP και MYSQL.
- Ανακατεύθυνση του χρήστη στη διεύθυνση UAUTH για έλεγχο ταυτότητας με λογαριασμό Google.
// Συμπεριλάβετε το αρχείο διαμόρφωσης βάσης δεδομένων
require_once «dbconfig.PHP ';
$ statusmsg = $ Valerr = '';
Κατάσταση $ = 'κίνδυνος';
// Εάν υποβληθεί η φόρμα
αν (isset ($ _Post['υποβάλλουν']) <
// Επικύρωση πεδίων εισόδου φόρμας
αν (άδειο ($ _Files["αρχείο"] ["όνομα"]) <
$ Valerr .= «Επιλέξτε ένα αρχείο για μεταφόρτωση.
";
>
// Ελέγξτε αν οι εισόδους χρήστη είναι κενές
αν (άδειο ($ ValerrΟυσία <
$ targetdir = "Μεταφόρτωση/";
$ όνομα αρχείου = ονόμαζος($ _Files["αρχείο"] ["όνομα"])
$ targetfilepath = $ targetdir . $ όνομα αρχείου;
// ανεβάστε το αρχείο σε τοπικό διακομιστή
αν(move_uploaded_file($ _Files["αρχείο"] ["TMP_NAME"], $ targetfilepathΟυσία <
// Εισαγάγετε δεδομένα στη βάση δεδομένων
$ sqlq = "Εισαγάγετε τις τιμές drive_files (file_name, δημιουργήθηκε) (?,ΤΩΡΑ())";
$ stmt = $ db->προετοιμάζω($ sqlq)
$ stmt->bind_param("μικρό", $ db_file_name)
$ db_file_name = $ όνομα αρχείου;
$ Εισαγωγή = $ stmt->εκτέλεση();
αν($ Εισαγωγή· <
$ file_id = $ stmt->ένθετο_ID;
// Αποθηκεύστε το αναγνωριστικό αναφοράς DB στη συνεδρίαση
$ _Session['last_file_id'] = $ file_id;
επί κεφαλής("Τοποθεσία: $ googleoauthurl«)
έξοδος();
> αλλιώς <
$ statusmsg = «Κάτι πήγε στραβά, δοκιμάστε ξανά μετά από λίγο καιρό.";
>
> αλλιώς <
$ statusmsg = «Η μεταφόρτωση αρχείων απέτυχε, δοκιμάστε ξανά μετά από κάποιο χρονικό διάστημα.";
>
> αλλιώς <
$ statusmsg = "Συμπληρώστε όλα τα υποχρεωτικά πεδία:
"
.τακτοποίηση($ Valerr, "
")
>
> αλλιώς <
$ statusmsg = «Η υποβολή φόρμας απέτυχε!";
>
$ _Session['status_response'] = Array ('κατάσταση' => Κατάσταση $, 'status_msg' => $ statusmsg)
επί κεφαλής("Τοποθεσία: Ευρετήριο.PHP ")
έξοδος();
?>
Μεταφόρτωση αρχείου στο Google Drive (google_drive_sync.PHP)
Αυτό το σενάριο ρυθμίζεται ως URI ανακατεύθυνσης στη διαμόρφωση API Google API. Αυτό σημαίνει μετά τον έλεγχο ταυτότητας με τον λογαριασμό Google, ο χρήστης θα μεταφερθεί σε αυτό το σενάριο που χειρίζεται τη διαδικασία μεταφόρτωσης αρχείου Google Drive με API REST χρησιμοποιώντας PHP.
- Λάβετε τον κώδικα OAuth από τη σειρά ερωτήματος της διεύθυνσης URL χρησιμοποιώντας Php $ _get μεταβλητός.
- Συμπεριλάβετε και αρχικοποιήστε την κλάση χειριστή API Google Drive API.
- Λάβετε αναγνωριστικό αναφοράς αρχείου της τοπικής βάσης δεδομένων από τη συνεδρίαση.
- Λήψη των πληροφοριών αρχείου από τη βάση δεδομένων με βάση το αναγνωριστικό αναφοράς.
- Ανακρίνετε το αρχείο από το διακομιστή και καθορίστε ολόκληρο το αρχείο σε μια συμβολοσειρά χρησιμοποιώντας file_get_contents () Λειτουργία στο PHP.
- Λήψη τύπου MIME του αρχείου χρησιμοποιώντας mime_content_type () Λειτουργία στο PHP.
- Λάβετε πρόσβαση με κωδικό ελέγχου ταυτότητας χρησιμοποιώντας τη συνάρτηση GetAccessToken () της κλάσης GoogleDRiveApi.
- Αποστολή και μεταφόρτωση αρχείου στο Google Drive χρησιμοποιώντας τη συνάρτηση uploadFileTodrive () της κλάσης GoogleDRiveApi.
- Ενημέρωση αρχείου Meta Data στο Google Drive χρησιμοποιώντας τη συνάρτηση updateFileMeta () της κλάσης GoogleDRiveApi.
- Ενημέρωση αναγνωριστικού αναφοράς αρχείου Google Drive στη βάση δεδομένων.
- Εμφάνιση της κατάστασης μεταφόρτωσης αρχείων με τον σύνδεσμο πρόσβασης αρχείων Google Drive.
// Συμπεριλάβετε την κλάση χειριστή API Google Drive API
Συμπεριλάβετε_once «Googledriveapi.τάξη.PHP ';
// Συμπεριλάβετε το αρχείο διαμόρφωσης βάσης δεδομένων
require_once «dbconfig.PHP ';
$ statusmsg = '';
Κατάσταση $ = 'κίνδυνος';
αν (isset ($ _Get['κώδικας']) <
// Αρχικοποιήστε την κλάση API Google Drive
$ Googledriveapi = Νέο Googledriveapi();
// Λάβετε αναγνωριστικό αναφοράς αρχείου από τη συνεδρίαση
$ file_id = $ _Session['last_file_id'];
αν(!αδειάζω($ file_idΟυσία <
// Λεπτομέρειες αρχείου από τη βάση δεδομένων
$ sqlq = "Επιλέξτε * από το DRIVE_FILES WHERE STYLE =" COLOR: #007700 ">;
$ stmt = $ db->προετοιμάζω($ sqlq)
$ stmt->bind_param("Εγώ", $ db_file_id)
$ db_file_id = $ file_id;
$ stmt->εκτέλεση();
$ αποτέλεσμα = $ stmt->get_result();
$ filedata = $ αποτέλεσμα->fetch_assoc();
αν(!αδειάζω($ filedataΟυσία <
$ file_name = $ filedata['όνομα αρχείου'];
$ target_file = «Μεταφορτώσεις/».$ file_name;
$ file_content = file_get_contents($ target_file)
$ mime_type = mime_content_type($ target_file)
// Λάβετε το διακριτικό πρόσβασης
αν(!αδειάζω($ _Session['google_access_token']) <
$ access_token = $ _Session['google_access_token'];
> αλλιώς <
$ δεδομένα = $ Googledriveapi->GetAccesstoken(Google_client_id, Ανακατεύθυνση_uri, Google_client_secret, $ _Get['κώδικας'])
$ access_token = $ δεδομένα['διακριτικό πρόσβασης'];
$ _Session['google_access_token'] = $ access_token;
>
αν(!αδειάζω($ access_tokenΟυσία <
δοκιμάστε <
// ανεβάστε το αρχείο στο Google Drive
$ drive_file_id = $ Googledriveapi->Μεταφορτωμένος($ access_token, $ file_content, $ mime_type)
αν($ drive_file_id· <
$ file_meta = Array (
'όνομα' => ονόμαζος($ file_name·
)
// Ενημέρωση μεταδεδομένων αρχείων στο Google Drive
$ drive_file_meta = $ Googledriveapi->ΕνημέρωσηFilemeta($ access_token, $ drive_file_id, $ file_meta)
αν($ drive_file_meta· <
// Ενημέρωση αναφοράς αρχείου δίσκου Google στη βάση δεδομένων
$ sqlq = "Ενημέρωση drive_files Set google_drive_file_id =? Όπου στυλ = "χρώμα: #007700">;
$ stmt = $ db->προετοιμάζω($ sqlq)
$ stmt->bind_param("σι", $ db_drive_file_id, $ db_file_id)
$ db_drive_file_id = $ drive_file_id;
$ db_file_id = $ file_id;
Ενημέρωση $ = $ stmt->εκτέλεση();
unset ($ _Session['last_file_id'])
unset ($ _Session['google_access_token'])
Κατάσταση $ = 'επιτυχία';
$ statusmsg = "Το αρχείο έχει μεταφορτωθεί με επιτυχία στο Google Drive!
"
;
$ statusmsg .= ".
$ drive_file_meta['ταυτότητα'].'' Target = '_ Blank'> '.$ drive_file_meta['όνομα'].'';
>
>
> Πιάσε (Εξαίρεση $ e· <
$ statusmsg = $ Ε->getMessage();
>
> αλλιώς <
$ statusmsg = «Αποτυχία να πάρει το διακριτικό πρόσβασης!";
>
> αλλιώς <
$ statusmsg = Τα δεδομένα αρχείων δεν βρέθηκαν!";
>
> αλλιώς <
$ statusmsg = Δεν βρέθηκε αναφορά αρχείου!";
>
$ _Session['status_response'] = Array ('κατάσταση' => Κατάσταση $, 'status_msg' => $ statusmsg)
επί κεφαλής("Τοποθεσία: Ευρετήριο.PHP ")
έξοδος();
>
?>
Λίστα ελέγχου για δοκιμές:
Επαλήθευση εφαρμογών Google:
Η Google απαιτεί επαλήθευση εφαρμογών για χρήση API Drive. Πρέπει να υποβάλετε την αίτηση επαλήθευσης για να κάνετε το Google Project Public.
Στη λειτουργία ανάπτυξης, μπορείτε να το δοκιμάσετε προσθέτοντας δοκιμαστικούς χρήστες στην οθόνη συγκατάθεσης OAuth της εφαρμογής Google.
Στη σελίδα διαπιστευτηρίων πελάτη OAuth, κάντε κλικ στο Οθόνη συναίνεσης OAuth Σύνδεσμος.


συμπέρασμα
Η μεταφόρτωση αρχείων στο Google Drive με API REST είναι πολύ χρήσιμο όταν θέλετε να ανεβάσετε εικόνες ή αρχεία εγγράφων στο Google Drive δυναμικά από τον ιστότοπο. ο PHP μπούκλα Οι λειτουργίες βοηθούν να καλέσετε το REST API για πρόσβαση στο API Google Drive από το σενάριο. Όχι μόνο μεταφόρτωση αρχείων, αλλά και μπορείτε να δημιουργήσετε φακέλους, προβολή/ενημέρωση/διαγραφή αρχείων χρησιμοποιώντας το API Google Drive και το PHP. Εάν θέλετε να αποθηκεύσετε το Scape στο διακομιστή, τα αρχεία μπορούν να μεταφορτωθούν στο Google Drive και η αναφορά μπορεί να χρησιμοποιηθεί για πρόσβαση σε αρχεία από το Google Drive.
Θέλετε να λάβετε βοήθεια εφαρμογής ή να τροποποιήσετε ή να βελτιώσετε τη λειτουργικότητα αυτού του σεναρίου? Κάντε κλικ εδώ για να υποβάλετε αίτηση υπηρεσίας
Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με αυτό το σενάριο, υποβάλετε το στην κοινότητα QA – Κάντε ερώτηση
Απλό πώς να ενσωματώσετε το API Google Drive με PHP. 2

Θέλετε να ενσωματώσετε το API Google Drive με PHP? Σε αυτό το σεμινάριο θα εξετάσουμε πώς να ενσωματώσουμε απλά το API Google Drive με PHP. Εάν θέλετε να ενσωματώσετε το σενάριο PHP στον λογαριασμό σας στο Google Drive’Δεν πρέπει να είναι δύσκολο. Στην πραγματικότητα χρησιμοποιώντας τη βιβλιοθήκη πελατών PHP μπορεί να είναι αρκετά στενό προς τα εμπρός. Σε αυτήν την ανάρτηση πρόκειται να εξετάσουμε πώς να δημιουργήσουμε ένα απλό σενάριο σχεδιασμένο για να τρέχει σε διακομιστή. Όχι αυτός ο κωδικός δεν θα εκτελεστεί ως εφαρμογή ιστού. Αυτό είναι απλώς ένα σενάριο κονσόλας.
- 1 Δημιουργήστε τα εγκατεστημένα διαπιστευτήρια εφαρμογής
- 2 συνθέτης
- 3 εξουσιοδότηση
- 4 API Google Drive με PHP
- 5. Συμπέρασμα
Δημιουργία εγκατεστημένων διαπιστευτηρίων εφαρμογών
Το πρώτο πράγμα που θα χρειαστείτε είναι να δημιουργήσετε ένα πιστοποιητικό.αρχείο json. Αυτό μπορεί να δημιουργηθεί στην κονσόλα Google Cloud φροντίστε να δημιουργήσετε εγγενή διαπιστευτήρια.
Συνθέτης
Θα χρειαστεί να εγκαταστήσετε τη βιβλιοθήκη πελατών PHP αυτό μπορεί να γίνει χρησιμοποιώντας το Composer. Οι οδηγίες για αυτό μπορούν να βρεθούν στη βιβλιοθήκη πελάτη Google API PHP ReadMe. Συνιστώ τον έλεγχο για τον πιο πρόσφατο αριθμό έκδοσης στο χώρο αποθήκευσης PHP Packages
Ο συνθέτης απαιτεί το Google/apiclient:^2.12.1
Εξουσιοδότηση
Αυτός ο κωδικός έχει σχεδιαστεί για να αποθηκεύει την εξουσιοδότηση χρήστη μέσα σε ένα αρχείο που ονομάζεται Token.json. Αφού εξουσιοδοτήσετε την εφαρμογή μόλις αποθηκευτεί ένα διακριτικό ανανέωσης. Στη συνέχεια, όταν η εφαρμογή εκτελείται ξανά, θα είναι σε θέση να χρησιμοποιήσει το διακριτικό ανανέωσης για να ζητήσει ένα νέο διακριτικό πρόσβασης για να αποκτήσετε πρόσβαση στον λογαριασμό σας στο Google Drive Drive.
Προειδοποιητικά μάρκες ανανέωσης θα λήξουν μετά από επτά ημέρες ενώ το έργο σας έχει οριστεί σε δοκιμές στην κονσόλα Google Cloud. Μεταβείτε στην οθόνη OAuth και ρυθμίστε την στην παραγωγή και το διακριτικό ανανέωσης θα σταματήσει να λήγει.
https: // προγραμματιστές.Google.com/ίδρυση/πρωτόκολλα/oauth2#Λήξη
Το τμήμα του κώδικα που χειρίζεται την εξουσιοδότηση για εμάς έχει ως εξής
$ authurl = $ client-> createAuthurl ();
printf ("Ανοίξτε τον ακόλουθο σύνδεσμο στο πρόγραμμα περιήγησής σας: \ n%s \ n", $ authurl);
εκτύπωση 'Εισάγετε τον κωδικό επαλήθευσης:';
$ authCode = trim (fgets (Στύλος))
// Κωδικός εξουσιοδότησης ανταλλαγής για διακριτικό πρόσβασης.
$ accessToken = $ client-> fetchaccessTokenWithauthCode ($ authcode);
$ client-> setAccessToken ($ accesstoken);
Αντιγράψτε το σύνδεσμο εξουσιοδότησης και τοποθετήστε τον σε οποιοδήποτε πρόγραμμα περιήγησης ιστού. Εξουσιοδότηση της αίτησης. Θα δείτε ένα σφάλμα 400 στο παράθυρο του προγράμματος περιήγησης όταν είναι πλήρες αγνοήστε αυτό. Αυτό οφείλεται στην απομάκρυνση του OOB. Αν κοιτάξετε τη γραμμή URL μέσα σε αυτό το string που επιστρέφεται είναι ένας κωδικός. http: // localhost/?κωδικός =4/0AX4XFWGU3P6QQHEOGZ7NITCLTYDT3TF_BV-A1KI4UOEM0CZPHIXRPD8TENLUXTA-SKFLLA& Scope = https: // www.Googleapis.com/auth/drive.Αναγνωριστικά είναι αυτός ο κωδικός που προσθέτετε στην αίτησή σας. Μπορείτε να χρησιμοποιήσετε μόνο τον κωδικό μία φορά.
Ο κώδικας θα φέρει στη συνέχεια ένα διακριτικό πρόσβασης με αυτόν τον κωδικό εξουσιοδότησης.
Χρησιμοποιώντας τον ακόλουθο κωδικό αποθηκεύουμε το διακριτικό που επέστρεψε στο διακριτικό.αρχείο json για μεταγενέστερη χρήση
// Αποθηκεύστε το διακριτικό σε ένα αρχείο.
αν (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
Προειδοποιητικά μάρκες ανανέωσης θα λήξουν μετά από επτά ημέρες ενώ το έργο σας έχει οριστεί σε δοκιμές στην κονσόλα Google Cloud. Μεταβείτε στην οθόνη OAuth και ρυθμίστε την στην παραγωγή και το διακριτικό ανανέωσης θα σταματήσει να λήγει.
https: // προγραμματιστές.Google.com/ίδρυση/πρωτόκολλα/oauth2#Λήξη
API Google Drive με PHP
Τώρα που η εφαρμογή σας είναι εξουσιοδοτημένη, μπορείτε να καλέσετε το API Google Drive. Απλά θυμηθείτε ότι κάθε μέθοδος έχει ένα ή περισσότερα πεδία που απαιτούνται για να αποκτήσετε πρόσβαση σε αυτήν τη μέθοδο. Μπορείτε να βρείτε το πεδίο που απαιτείται μέσα στην τεκμηρίωση για κάθε μέθοδο. Για παράδειγμα αρχείο.Η λίστα θα σας δείξει ποιο πεδίο πρέπει να έχετε ζητήσει εξουσιοδότηση από. Σε αυτό το σενάριο ζητώ μόνο για ανάγνωση μόνο πεδίου που σημαίνει αν προσπαθήσετε να κάνετε ένα αρχείο.Δημιουργήστε το δεν θα λειτουργήσει. Εάν αλλάξετε το πεδίο εφαρμογής σε αυτό το σενάριο, θυμηθείτε να διαγράψετε το διακριτικό.αρχείο json έτσι ώστε το σενάριο να ζητήσει ξανά την εξουσιοδότηση του χρήστη.
απαιτώ __Dir__ . ‘/πωλητής/autoload.php ‘;
αν (php_sapi_name () != ‘CLI’) Ρίξτε νέα εξαίρεση (‘Αυτή η εφαρμογή πρέπει να εκτελεστεί στη γραμμή εντολών.’);
>
Χρησιμοποιήστε το Google \ Client;
Χρησιμοποιήστε το Google \ Service \ Drive;
/** * Επιστρέφει έναν εξουσιοδοτημένο πελάτη API. * @ΕΠΙΣΤΡΟΦΗ Πελάτης Το εξουσιοδοτημένο αντικείμενο πελάτη */ λειτουργία getClient ()
$ client = νέος πελάτης ();
$ client-> setApplicationName (‘google drive api php quickstart’);
$ client-> setscopes (‘https: // www.Googleapis.com/auth/drive.μόνο για ανάγνωση’);
$ client-> setauthconfig (‘c: \ youtube \ dev \ predentials.json ‘);
$ client-> setAccesstype (‘offline’);
$ client-> setredirecturi (“http: // 127.0.0.1 “);
$ client-> setPrompt (‘select_account consent’);
// φορτώστε προηγουμένως εξουσιοδοτημένο διακριτικό από ένα αρχείο, αν υπάρχει.
// Το διακριτικό αρχείου.Το JSON αποθηκεύει τα μάρκες πρόσβασης και ανανέωσης του χρήστη και είναι
// δημιουργήθηκε αυτόματα όταν ολοκληρωθεί η ροή εξουσιοδότησης για την πρώτη
// χρόνος.
$ tokenPath = ‘Token.json ‘;
αν (file_exists ($ tokenpath)) $ accesstoken = json_decode (file_get_contents ($ tokenpath), true);
$ client-> setAccessToken ($ accesstoken);
>
// Εάν δεν υπάρχει προηγούμενο διακριτικό ή έχει λήξει.
αν ($ client-> isAccessTokenExpired ()) // ανανεώστε το διακριτικό εάν είναι δυνατόν, αλλιώς μεταφέρετε ένα νέο.
αν ($ client-> getRefreshToken ()) $ client-> fetchaccessTokenWithRefreshToken ($ client-> getRefreshToken ());
> αλλιώς // Αίτηση εξουσιοδότησης από τον χρήστη.
$ authurl = $ client-> createAuthurl ();
printf (“Ανοίξτε τον ακόλουθο σύνδεσμο στο πρόγραμμα περιήγησής σας: \ n%s \ n”, $ authurl);
εκτύπωση ‘Εισάγετε τον κωδικό επαλήθευσης:’;
$ authCode = trim (fgets (Στύλος))
// Κωδικός εξουσιοδότησης ανταλλαγής για διακριτικό πρόσβασης.
$ accessToken = $ client-> fetchaccessTokenWithauthCode ($ authcode);
$ client-> setAccessToken ($ accesstoken);
// Ελέγξτε αν υπήρχε σφάλμα.
αν (array_key_exists (‘error’, $ accesstoken)) ρίξτε νέα εξαίρεση (join (‘,’, $ accesstoken));
>
>
// Αποθηκεύστε το διακριτικό σε ένα αρχείο.
αν (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
>
επιστροφή $ πελάτη?
>
// Λάβετε τον πελάτη API και κατασκευάστε το αντικείμενο υπηρεσίας.
$ client = getClient ();
$ υπηρεσία = νέα μονάδα δίσκου ($ client);
// Εκτυπώστε τα επόμενα 10 συμβάντα στο ημερολόγιο του χρήστη.
δοκιμάστε
$ optParams = array (
‘pagesize’ => 10,
‘Fields’ => ‘Αρχεία (id, όνομα, mimetype)’,
‘Q’ => ‘Mimetype = “Application/VND.Google-apps.Φάκελος “και” ρίζα “στους γονείς”,
‘orderby’ => ‘Όνομα’
)
$ αποτελέσματα = $ υπηρεσία-> αρχεία-> listfiles ($ optParams);
$ αρχεία = $ αποτελέσματα-> getFiles ();
αν (άδειο ($ αρχεία)) εκτύπωση “Δεν βρέθηκαν αρχεία που δεν βρέθηκαν.\ n “;
> αλλιώς εκτύπωση “αρχεία: \ n”;
foreach ($ αρχεία ως αρχείο $) $ id = $ αρχείο-> id;
printf (“%s-(%s)-(%s) \ n”, $ αρχείο-> getId (), $ αρχείο-> getName (), $ αρχείο-> getMimEtype ());
>
>
>
Catch (Εξαίρεση $ E) // TODO (DEVELOMER) – Χειριστείτε το σφάλμα που αντανακλά κατάλληλα το μήνυμα: ‘ .$ e-> getMessage ();
>
συμπέρασμα
Η εξουσιοδότηση του σεναρίου PHP για σύνδεση στο API Google Drive είναι πολύ απλό μόλις έχετε τον κωδικό. Χρησιμοποιώντας τη βιβλιοθήκη πελατών PHP και επιτρέποντάς της να χειριστεί όλη την εξουσιοδότηση για εμάς κάνει τη ζωή μας πολύ προσκολλημένη.
Θυμηθείτε να δημιουργήσετε εγκατεστημένα διαπιστευτήρια εφαρμογής για να εκτελέσετε αυτό το σενάριο. Έχω ένα βίντεο που δείχνει πώς. Απλά θυμηθείτε να ενεργοποιήσετε το API Google Drive κάτω από τη βιβλιοθήκη
Σχετικές αναρτήσεις:
- Απλό πώς να ενσωματώσετε την PHP με το API Admin Admin Google Analytics.
- Google APIS Auth Simple
- Απλό πώς να ανεβάσετε το αρχείο στο Google Drive με το Go Lang.
- Ο έλεγχος ταυτότητας Google με μπούκλα
Μετακίνηση μιας στατικής ιστοσελίδας από το Google Drive σε ένα φιλικό προς το PHP περιβάλλον?
Το Google Drive κάνει ζωντανά αρκετά εύκολο, αφού μπορώ να δημιουργήσω αρχεία σε τοπικό επίπεδο και φροντίζει τον συγχρονισμό.
Τι θα συνιστούσατε να κοιτάξετε/αναζητήσετε?
19.9K 6 6 χρυσά κονκάρδες 51 51 ασημένια κονκάρδες 99 99 χάλκινα κονκάρδες
Ερωτηθείς στις 8 Μαΐου 2014 στις 17:20
1,135 10 10 ασημένια κονκάρδες 19 19 χάλκινα κονκάρδες
Ένα απλό ερώτημα Google “Google Drive PHP” οδηγεί σε αυτό το έγγραφο Google: Υποστήριξη.Google.com/drive/απάντηση/2881970?hl = en που δηλώνει σαφώς: χωρίς PHP. Μπορεί να χρειαστεί να εργαστείτε στον ορισμό σας για “παντού”
9 Μαΐου 2014 στις 0:48
Αυτό δεν είναι μόνο η ερώτησή μου. Ότι κάπως είμαι σαφής.. Χρειάζομαι εναλλακτική λύση
9 Μαΐου 2014 στις 5:48
3 Απαντήσεις 3
Πρώτο πράγμα, το scripting siver scripting δεν επιτρέπεται στη μονάδα δίσκου. Αν και στο Google, μπορείτε να χρησιμοποιήσετε το Google App Engine για σκοπούς δέσμης ενεργειών. Πολλές περισσότερες γλώσσες υποστηρίζονται τώρα εδώ, όπως GO, PHP, Python και Java. Μπορείτε να μάθετε κινητήρα εφαρμογών.
Δεύτερο πράγμα, για να αποκτήσετε καλύτερη εμπειρία φιλοξενίας, αγοράστε κάποιο χώρο διακομιστή. Για μαθησιακούς σκοπούς, μπορείτε να εγγραφείτε σε πολλές δωρεάν υπηρεσίες φιλοξενίας. Αργότερα μεταβείτε στην πληρωμένη έκδοση.
25.3K 15 15 χρυσά κονκάρδες 91 91 ασημένια κονκάρδες 178 178 χάλκινα κονκάρδες
Απαντήθηκε στις 8 Μαΐου 2014 στις 17:31
cprakashagr cprakashagr
751 11 11 ασημένια κονκάρδες 28 28 χάλκινα κονκάρδες
Το Google Drive δεν έχει κατασκευαστεί για αυτό που προσπαθείτε να κάνετε.
Ίσως θελήσετε να εξετάσετε το Google Cloud ή το Google App Engine.
Απαντήθηκε στις 8 Μαΐου 2014 στις 17:24
4,843 9 9 χρυσά κονκάρδες 50 50 ασημένια κονκάρδες 93 93 χάλκινα κονκάρδες
Το Google Cloud είναι νέο για μένα.. Μπορούν οι ιστότοποι του Google Cloud Host όπως το Google Drive?
8 Μαΐου 2014 στις 17:30
Το Google Drive δεν μπορεί να φιλοξενήσει ιστότοπους. Έγγραφα και άλλο στατικό περιεχόμενο, αλλά τίποτα δεν είναι δυναμικό. Θα πρέπει πραγματικά να πάτε με μια εταιρεία φιλοξενίας. Αναζητήστε τη φιλοξενία μετοχών που χρειάζεστε.
8 Μαΐου 2014 στις 17:33
όχι.. Το Google Drive μπορεί να φιλοξενήσει ολόκληρο τον ιστότοπο σε φάκελο. Αλλά θα πρέπει να είναι στατικό. Δεν είναι δυναμική όπως λέτε και περιορίζεστε με το μέγεθος της μονάδας δίσκου
8 Μαΐου 2014 στις 17:38
Το Google Drive απλά δεν επιτρέπει την PHP. Αναφέρεται [στην τεκμηρίωση] (https: // υποστήριξη.Google.com/drive/απάντηση/2881970?hl = en), ο οποίος είναι ο πρώτος σύνδεσμος όταν το Google “Google Drive PHP”
Για να εκτελέσετε κωδικό σε αρχεία που φιλοξενούνται στο Google, πρέπει να χρησιμοποιήσετε τον κινητήρα της εφαρμογής Google. Τρέχει PHP, Java, Python, Go.
Αλλά ίσως να μην είναι αυτό που ψάχνετε. Η χρήση ενός κλασικού ιστότοπου Hoster μπορεί να είναι η καλύτερη προσέγγιση
Απαντήθηκε στις 8 Μαΐου 2014 στις 17:24
19.9K 6 6 χρυσά κονκάρδες 51 51 ασημένια κονκάρδες 99 99 χάλκινα κονκάρδες
Έχω τον ιστότοπό μου στο Google Drive για προσωρινή. Θα μπορούσατε να με παρακαλώ να δώσω κάποια αναφορά, πώς μπορώ να ενσωματώσω με το αυτοκίνητο?
8 Μαΐου 2014 στις 17:28
Μπορεί να είναι καλύτερο αν μου ζητήσατε να αναζητήσω, “API Google” (αυτό είναι που χρειάζομαι) αντί να φύγατε για αυτόν τον σύνδεσμο και να το συντομεύσετε.
8 Μαΐου 2014 στις 17:41
Thx για την υποβάθμιση μιας ακριβούς απάντησης για ένα τρελό σχόλιο 🙂 Χρειάζεστε μια τακτική φιλοξενία ιστοσελίδων. Προσπαθώντας να κολλήσετε στο Google Drive θα σας πάρει περισσότερο χρόνο. Επίσης, ως γενικός κανόνας: ζητώντας “πώς μπορώ να το κάνω αυτό” χωρίς να έχω ερευνήσει τις αναφορές που παρέχονται δεν θεωρείται φιλική προς την κοινότητα. Υποθέτοντας ότι το κάνατε, θα ήταν επωφελές να δηλώσω κάτι σαν “Είχα μια ματιά στο σύνδεσμο, τον σύνδεσμο, τον σύνδεσμο αλλά ακόμα δεν γνωρίζω/δεν καταλαβαίνω” κ.λπ. Απλά ρωτάς δημιουργεί την εντύπωση ενός freeloader. Διαβάστε την εθιμοτυπία του ιστότοπου για περισσότερες πληροφορίες
9 Μαΐου 2014 στις 0:44
Η downvoting δεν είναι εγώ. Πριν με ρωτήσω να δω τον κανόνα του ιστότοπου, δείτε τη φήμη μου. Η Downvote απαιτεί 125 φήμη. Δεν μπορώ να το κάνω. Δεν θα το κάνω. Είναι μερικά άλλα. Νομίζω ότι πρέπει να το μελετήσετε



