Created
April 9, 2015 03:22
-
-
Save radiatoryang/93fd9c291bbc85e815a6 to your computer and use it in GitHub Desktop.
Unity C# code for grabbing a publicly published Google Docs spreadsheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
using System.Collections; | |
using UnityEngine.UI; | |
// usage: place on a UI Text object to visualize spreadsheet data | |
// preparing a Google Doc: make sure you go to File >> Publish... "Share" does NOT work for this | |
// publicly editable: https://docs.google.com/spreadsheets/d/1QDaGFXxh3zbVTcQKXygKZ67_EFXjUlGbHbK21ICvv-k/edit?usp=sharing | |
// view as HTML: https://docs.google.com/spreadsheets/d/1QDaGFXxh3zbVTcQKXygKZ67_EFXjUlGbHbK21ICvv-k/pubhtml | |
// view as CSV: https://spreadsheets.google.com/pub?hl=en&hl=en&key=1QDaGFXxh3zbVTcQKXygKZ67_EFXjUlGbHbK21ICvv-k&output=csv | |
// CSV URL template: https://spreadsheets.google.com/pub?hl=en&hl=en&key= +INSERT DOC ID KEY HERE+ &output=csv | |
public class DemoSpreadsheet : MonoBehaviour { | |
public string spreadsheetKey = "1QDaGFXxh3zbVTcQKXygKZ67_EFXjUlGbHbK21ICvv-k"; | |
// Start can be used as a coroutine | |
IEnumerator Start() { | |
// create a new "WWW" object that will fetch the web data | |
WWW webRequest = new WWW( "https://spreadsheets.google.com/pub?hl=en&hl=en&key=" + spreadsheetKey + "&output=csv" ); | |
// wait until the web data has finished downloading | |
yield return webRequest; | |
// you could also see whether (WWW.isDone == true) to see if it has finished yet | |
// treat the web data like alphanumeric text (a string) | |
var csvData = webRequest.text; | |
// convert text into rows by splitting along line breaks | |
string[] rows = csvData.Split ( "\n" [0] ); | |
// print rows | |
foreach ( var row in rows ) { | |
Debug.Log ( row ); | |
GetComponent<Text>().text += row + "\n"; | |
yield return 0; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment