Google Drive to SharePoint Migration Guide

This article will guide you through the steps for migrating from Google Drive to Microsoft SharePoint .

First time?

This migration guide contains the necessary steps to perform the actual migration, but there are many steps to preparing for migration. If this is your first time performing a migration, we have created a Migration Planning & Strategy Guide to walk you through planning, set-up, and general migration best practices.

If performing a Google Drive to OneDrive for Business migration, refer to the Google Drive to OneDrive for Business Migration Guide. This is the most common migration scenario for Google Drive migrations.

To discover what items are moved with MigrationWiz in this scenario, and which items will not be moved, see Moved Items. Note that these items will vary by source and destination, so check the proper environment listings carefully.

What is and is not migrated?
Migrated
  • Folders
  • Folders you have shared
  • Permissions
  • G Suite native files (except Google Forms)
  • Code Files
  • Documents
  • Images
  • Executables
  • Videos
  • Audio Files
  • Templates (files that the template had been applied to are migrated)
  • Creation Date (Creation date gets changed to the "date of migration" date)
  • Scripts/Macros (Scripts are not converted to macros when going to documents)
  • Comments
  • File/Folder permissions
  • Items/folders in "Shared with Me”. These folders must be added to the user’s “My Drive” and Moderate Mode must be used in order to migrate these items/folders. 
  • Shortcuts (Migrated in Google Drive to Google Drive scenarios only.)
  • Google Shared Drives (also known as Team Drives)
    • Only when SharePoint is the Destination

Not Migrated

  • Personal / Free Google Drive is not supported
  • File/folder shortcuts

MigrationWiz is a migration tool, not a syncing tool. If changes are made at the source after migration, they will not sync to the destination, nor will changes made at the destination sync to the source. We do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.

This migration scenario will only migrate the content from the users' Google Drive accounts into the SharePoint document library. It will not migrate the permissions in the Source Google Drive shared documents. Make sure to deselect Document Permissions before submitting your migration pass.

Items and folders in "Shared with Me" will not be migrated. Only items in "My Drive" will be migrated. To migrate "Shared with Me" items, they must be added to "My Drive".

This is a one-to-many migration path. This means that data that belongs to one user will be migrated into a shared document library. This is a rare business case because individual data would then be accessible by multiple people.

Due to versioning, storage usage on SharePoint may be increased when migrating with permissions. To not have permissions migrated, see Step 6 in the MigrationWiz Steps section below.

Prepare Azure Environment

If using Microsoft-provided Azure storage, you can skip this section.

  1. Estimate Azure storage costs. This step is optional but is useful in providing the customer with upfront storage costs ahead of time.
  2. Buy an Azure subscription, or use the free one-month trial ( this option is only viable if you are performing a very small migration).
  3. Create an Azure storage account. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Office 365 tenant. 
    • Log in to https://manage.windowsazure.com
    • Click Storage
    • Click Manage Access Keys at the bottom of the screen. The access keys need to be entered when creating the MSPComplete Source endpoint. We recommend that you create an Azure Storage Account in the same Microsoft data center as the Destination Office 365 tenant. 
    • Take note of the Storage Account Name and the Primary Access Key as follows:
      • -accesskey – This is the Storage account name for the Blob – example “accountname”
      • -secretkey - This is the access key for the Storage account – example “W1RrDfkPNkfYfdVqizMNJjn5mXchwMP5uYBY8MsMqWTA7EubG911+4fZlki0Gag==”
  4. Create an Azure BLOB container. Take note of the name of the BLOB to be entered in the Bucket Name field in the project Advanced Options.

Prepare the Source Environment

Google Drive (Own Service Account) Endpoint 

This endpoint requires your tenant service account to be set up and Google APIs be enabled. Follow the steps below to set up your environment for this endpoint. 

Prerequisites

  • Subscription to Google Cloud Platform

  • Google Super Administrator account

  • Ability to set up a service account on the G Suite tenant

  • Service account must be set up before the MigrationWiz project is created

Create a Google Project

  1. Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator. Choose one of the options below:

    • If you haven't used the Google Cloud Platform Console before, agree to the Terms of Service and click Create Project.

    • If you have used Google Cloud Platform Console before, at the top of the screen next to your most recent project name, click Down to open your projects list. Then, click New Project.

  2. Enter a project name and click Create.

Enable APIs for Service Account

  1. From the Google Cloud Platform Console, click Menu > APIs & Services > Library.

  2. Enable the following APIs by selecting the specific API and clicking Enable.
    Repeat for each API listed below:

    • Google Drive API

    • Admin SDK

Make sure that the respective services are enabled within the Google tenant. You can control services for your users using the instructions on this page: Control who can access G Suite and Google Services.

Create Customer Tenant Service Account

  1. From the Google Cloud Platform Console, click Menu > IAM & Admin > Service accounts.

  2. Click Create Service Account and enter a name.

  3. Click Create.

  4. Assign the role of Owner to the new Service Account by selecting Owner from the Role drop down menu.

  5. Click Done.

  6. You will now be returned to the "Service Accounts" page. 
  7. On ‘Service accounts' page, click vertical ellipsis under 'Actions’ column for the service account created above.
  8. Click + Add Key.

  9. Click Create New Key.

  10. Make sure that JSON is selected as "Key Type."

  11. Click Create.

  12. Click Close.

    • Make sure that you download the key as a JSON file and make a note of the name and location of the file. This JSON file will be used when setting up the migration endpoint in the Mailbox Migration project.

    • The JSON file must contain information in the following fields: “type”, “private key”, and “client email”. If these mandatory fields are empty the file upload during endpoint creation will fail.

Setting the Scopes for the Migration

From the Google Cloud Platform Console:

    1. Click Menu.
    2. Click IAM & Admin.
    3. Click Service Accounts.
    4. Find the service account that was set up in Step 3: Create Customer Tenant Account.
    5. Find the Unique ID field for that service account by clicking the Column Display Options button in the right upper corner above Actions and copy the ID number. This is the Client ID number that will be used in a later step.
      • This field often needs to be added to the view. Click on the Column display options button and add a checkmark to Unique ID, then click OK.
      • This Client ID should be considered similar to Administrator account passwords and handled securely.
    6. You will now have one of two options, depending on if the Google UI has been updated in your tenant.

    Old Google Tenant:

    1. Go to the G Suite admin page at google.com.
    2. Click Security.
    3. Click Advanced Settings.
    4. Click Manage API Client Access.

    OR If your account shows the latest UI updates from Google, as shown below:New_Google_Admin_APP_Access_Control.JPG

    1. Go to the G Suite admin page at google.com.
    2. Click Security.
    3. Click Advanced Settings.
    4. Under ‘Domain-wide delegation’, click Manage domain-wide delegation.
    5. On the Manage domain-wide delegation page, click Add new.

     Once these steps are complete:

    1. In the Client ID field, paste the Unique ID copied above.
    2. In the OAuth scopes (comma-delimited) field, paste all scopes listed below:
      1. For source endpoint :
        https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/drive.readonly
    3. Click Authorize.

     You should now see your specific Unique ID and the associate scopes listed.

Prepare the Destination Environment

  1. Create a SharePoint administrator or Site Collection administrator account to be used for migration, or use the global admin account for the tenant. Read the Manage administrators for a site collection article from Microsoft for more information.
  2. Create a SharePoint site. Make a note of the site URL where the document libraries will be stored. This will be entered when creating your MSPComplete Destination endpoint.
  3. Before beginning the migration project, create the structure of the document libraries, and also create the actual document libraries on the Destination SharePoint site. Refer to the Training: Introduction to document libraries video from Microsoft for more information.
  4. Set up the app-based authentication in the Office 365 tenant. For specific instructions, see Sharepoint App-based Authentication.

MSPComplete Steps

Create Customer

  1. Click the Add button in the top navigation bar.
  2. Click the Add Customer button on the All Customers page.
  3. In the left navigation pane, select the appropriate workgroup and then click All Customers.
  4. Click Add Customer.
  5. Enter the new customer’s information in the Add Customer form. Primary Email Domain and Company Name are required. The rest are optional.
  6. Click Save.
  7. Repeat steps 1 through 4 for each customer you want to add. 

Purchase licenses

We recommend that you purchase the User Migration Bundle license for this migration scenario. User Migration Bundle licenses allow multiple types of migrations to be performed with a single license. They also allow DeploymentPro to be used to configure Outlook email profiles. For questions on licensing, visit MigrationWiz Licenses

To purchase licenses:

  1. Sign in to your BitTitan account. 
  2. In the top navigation bar, click Purchase.
  3. Click the Select button and choose User Migration Bundle licenses.
  4. Enter the number of licenses you want to purchase. Click Buy Now.
  5. Enter a Billing address if applicable.
  6. Click Next.
  7. Review the Order Summary and enter a payment method.
  8. Click Place Your Order.

MigrationWiz Steps

Create a Document Project

  1. Log in to MigrationWiz.
  2. Click the Go to My Projects button.
  3. Click the Create Project button.
  4. Select the Document project type. 
  5. Click Next Step.
  6. Enter a Project name and select a Customer.
  7. Click Next Step.
  8. Select endpoints or follow the steps below to create new endpoints. 

Endpoints

Endpoints are now created through MigrationWiz, rather than through MSPComplete. The steps for this section outline how to create the endpoints in MigrationWiz.

If you are selecting an existing endpoint, keep in mind that only ten endpoints will show in the drop-down. If you have more than ten, you may need to search. Endpoint search is case and character specific. For example, Cust0mer will not show up if the search is customer. We recommend keeping a list of endpoints you have created, along with any unique spellings or capitalization you may have used.

You may either use existing endpoints, or create new ones. 

To create a new source endpoint:

  1. Click Endpoints
  2. Click Add Endpoint
  3. Select Google Drive (Own Service Account). 
  4. Click Select File

  5. Navigate to and select the JSON file that contains the Google Service Account key that was saved during the service account setup process.

  6. Enter the Google admin account email address. Please note that this admin email should match the end user domain.

  7. Click Add Endpoint. 

To create a new destination endpoint:

  1. Click Endpoints
  2. Click Add Endpoint
  3. Select SharePoint 
  4. Provide the requested information.

  5. Click Add Endpoint. 

If setting up a Tenant to Tenant Coexistence mailbox project, check the box for Enable Tenant to Tenant Coexistence. Otherwise, leave that box unchecked.

Add Users

Add the user accounts that will be migrated to the project. MigrationWiz allows you to bulk import users into the system.

  1. Click Add and enter the email address of each Google Drive user for Source, and the corresponding document library name at the Destination that the Source documents will be migrated into.
  2. If the document library is named "Documents" and the URL is listed as "xxxxxx.sharepoint.com/Documents/", enter Documents as the document library name.
  3. If your document library is named "Documents" but the URL says "xxxxxx.sharepoint.com/Shared Documents/", the name of the document library that needs to be entered is Shared Documents.
  4. ‘/' characters are not supported in the destination library name. Attempting to migrate any destination library with a '/' character will result in a migration failure.

Add Advanced & Support Options

Under Support/Support Options add:

  • InitializationTimeout=8 - This increases the initialization timeout window to eight hours. This option is especially useful for large migrations.
  • RenameConflictingFiles=1- OneDrive doesn’t allow multiple files to share the exact same name. This automatically renames the files that have the same name. It will rename the files to their original file names, followed by a unique identifier hash so it does not interfere with the original name and search.
    There are no spaces on either side of the "=" sign, and the entries are case-sensitive, so pay special attention to the capital letters in the commands above.
  • DocumentBrowsingMode=Moderate - This option migrates items as long as the user is the owner of the folder. For more details, see the Google Drive Migrations FAQ article.

Run Verify Credentials

  1. ​Sign in to your MigrationWiz account​.
  2. Open the Project containing items you wish to validate​.
  3. Select the items you wish to validate.
  4. Click on the Start button in your dashboard.
  5. Select Verify Credentials from the drop-down list.

Once complete, the results of the verification will be shown in the Status section.​ 

Notify Users

Notify users that a migration is occurring. Send email to all users telling them the time and date of the migration.

Run Migration

Important: Deselect permissions before migrating. If permissions are left checked, this will result in errors during your migration, because permissions cannot be migrated for this scenario.

Pre-Stage pass

  1. Select the users you wish to migrate
  2. Click the Start button from the top
  3. Select Pre-Stage Migration
  4. Under the Migration Scheduling section, from the drop-down list, select 90 days ago
  5. Click Start Migration.

Full pass

  1. Select the users
  2. Click the Start button from the top
  3. Select Full Migration
  4. Click Start Migration

Run Retry Errors

Look through the user list and click any red "failed migration" errors. Review the information and act accordingly.

If problems persist, contact Support.

Request Statistics

Click the pie chart icon in the MigrationWiz dashboard to receive an email containing all the project migration statistics.

Post-Migration 

  • To prevent users from inadvertently logging in and using their Google Drive accounts, decommission the Google Drive user accounts, or change their passwords.
  • Delete all the Azure containers used for this migration. This will prevent incurring post-migration Azure costs for these containers. Be careful to only delete the containers created for this migration.
Was this article helpful?
0 out of 0 found this helpful