private IEnumerator GetJSONFromSheet(string url, HandleXMLFromSheetSuccess success) { using (UnityWebRequest webRequest = UnityWebRequest.Get(url)) { yield return(webRequest.SendWebRequest()); if (webRequest.isNetworkError || webRequest.isHttpError) { Debug.Log("Error on loading JSON from Google Sheets document."); } else { JSONNode data = JSON.Parse(webRequest.downloadHandler.text); _script.GetElementsByTagName("title") [0].InnerText = data ["feed"] ["title"] ["$t"]; _script.GetElementsByTagName("primaryCredits") [0].InnerText = data ["feed"] ["author"] [0] ["name"] ["$t"]; JSONArray entry = data ["feed"] ["entry"].AsArray; AddMetadataFromEntry(entry [0]); AddCharactersFromEntry(entry [0]); AddActionsFromEntries(entry); TrimTrailingEntrySteps(); success(_script); } } }
public void GetXMLFromSheet(string sheetId, HandleXMLFromSheetSuccess success) { string url; // sheetId contains a Google Sheets id if (!sheetId.Contains("https://")) { url = "https://spreadsheets.google.com/feeds/list/" + sheetId + "/1/public/values?alt=json"; } // or a Google Sheets edit URL else if (sheetId.Contains("edit#")) { string[] temp = sheetId.Split('/'); url = "https://spreadsheets.google.com/feeds/list/" + temp[5] + "/1/public/values?alt=json"; } // otherwise, assume this is a correctly formed Google Sheets JSON URL else { url = sheetId; } _script = new XmlDocument(); _script.LoadXml("<stepwise><title>Untitled</title><description></description><primaryCredits></primaryCredits><secondaryCredits></secondaryCredits><version>1</version><sequence id=\"global\" repeat=\"+\"></sequence></stepwise>"); StartCoroutine(GetJSONFromSheet(url, success)); }