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));