Google Drive File System Provider
- 2 minutes to read
The Google Drive file system provider (GoogleDriveFileSystemProvider) allows you to connect ASPxFileManager to Google Drive.
Prerequisites
Register the Google Drive service account that is linked to your application. The service account allows you to use the Google APIs to access a user’s account without client-side authorization.
Follow the steps below to configure your Google Drive service account.
- Open the Service accounts page and click Create.
- In the New Project window, enter the project name and click Create.
- Open the Google API Console page to obtain the service account’s credentials. Click Enable APIs and Services to access the Google Drive API.
- Click Google Drive API to enable it.
- In the Credentials section, click Create credentials and select Service account key from the drop-down menu.
- Click Create to create the service account key in JSON format and save the .json file to your computer.
- Open the downloaded JSON file and get the credentials from it.
Private key:
Client Email:
...
AccountManager.RegisterGoogleDrive("Google", "my-test-project@my-test-project-235211.iam.gserviceaccount.com",
"DANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCu6OragV1n…...");
Provider Settings
Set the ASPxFileManager.ProviderType property to FileManagerProviderType.GoogleDrive to allow ASPxFileManager to manage files and folders in Google Drive.
The GoogleDriveFileSystemProvider class allows you to access the file and folder hierarchy, and manipulate these files in the file manager.
Do the following to connect ASPxFileManager to Google Drive:
Use the AccountManager.RegisterGoogleDrive method to register the Google Drive account in the global.asax file.
Note
Use the credentials.json file (Google Drive creates this file when you register the service account) to get the clientId and privateKey parameters for the AccountManager.RegisterGoogleDrive method.
AccountManager.RegisterGoogleDrive("FileManagerGoogleDriveAccount", "custom-service-account@api-project-82456107.iam.gserviceaccount.com", "..MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCVoaYrE7fEgu...");
Use the ASPxFileManager.SettingsGoogleDrive property to specify the Google Drive account’s name (FileManagerGoogleDriveProviderSettings.AccountName).
<dx:ASPxFileManager ID="FileManager" runat="server" ProviderType="GoogleDrive"> <SettingsGoogleDrive AccountName="FileManagerGoogleDriveAccount" /> ... </dx:ASPxFileManager>
ASPxFileManager allows you to handle every request to Google Drive (the ASPxFileManager.CloudProviderRequest event).