Google Drive for Unity3D

Google Drive for Unity3D plugin.

Upload, explore, download files in someone’s Google Drive.

And store your secure data such as score with AppData.

GitHub: GitHub - midworld/unity-googledrive: Google Drive for Unity3D

and Doxygen Docs

var drive = new GoogleDrive();
drive.ClientID = "YOUR CLIENT ID";
drive.ClientSecret = "YOUR CLIENT SECRET";

// Request authorization.
var authorization = drive.Authorize();
yield return StartCoroutine(authorization);

if (authorization.Current is Exception)
{
   Debug.LogWarning(authorization.Current as Exception);
   yield break;
}

// Authorization succeeded.
Debug.Log("User Account: " + drive.UserAccount);

// Upload a text file.
var bytes = Encoding.UTF8.GetBytes("world!");
yield return StartCoroutine(drive.UploadFile("hello.txt", "text/plain", bytes));

// Get all files.
var listFiles = drive.ListAllFiles();
yield return StartCoroutine(listFiles);

var files = GoogleDrive.GetResult<List<GoogleDrive.File>>(listFiles);
if (files != null)
{
   foreach (var file in files)
   {
       // Download a text file and print.
       if (file.Title.EndsWith(".txt"))
       {
           var download = drive.DownloadFile(file);
           yield return StartCoroutine(download);

           var data = GoogleDrive.GetResult<byte[]>(download);
           Debug.Log(System.Text.Encoding.UTF8.GetString(data));
       }
   }
}
// Upload score in 'AppData'.
int score = 10000;
var bytes = Encoding.UTF8.GetBytes(score.ToString());

// User cannot see 'score.txt'. Only your app can see this file.
StartCoroutine(drive.UploadFile("score.txt", "text/plain", drive.AppData, bytes));

I know this is an older project but thought it would be useful. However, I loaded it up and ran it in the browser. It worked but shortly after my Google account was being hacked. Google is pretty good at not letting known devices access you stuff thankfully. It may not be related but it happened right after I used this.