DevDino

[Unity] 구글 스프레드 시트 TSV 파일 로드하기 본문

Unity

[Unity] 구글 스프레드 시트 TSV 파일 로드하기

데브다이노 2024. 4. 17. 14:36

 

구글 드라이브를 활용하여 공유된 데이터를 로드해보도록 하겠습니다. 

 

우선 구글 스프레드 시트는 접근 가능한 링크를 가져야 합니다. 

 

 

url을 통해 TSV 파일을 받아오도록 하겠습니다. 

 

// 구글 스프레드 시트 TSV 파일 로드
using System;
using System.Collections;
using UnityEngine.Networking;

public class TSVDownloader
{
    // tsv 다운로드 URL 
    const string googleSheetURL = "https://docs.google.com/spreadsheets/d/{0}/export?format=tsv&gid={1}";
    public bool downloadSuccess;
    public string result;
    
    public void RequestSheetData(string docId, string gid, Action onCompleted)
    {
        downloadSuccess = false;
        result = string.Empty;

        var request = UnityWebRequest.Get(string.Format(googleSheetURL, docId, gid));
        request.SendWebRequest().completed += (asyncInfo) =>
        {
            if (request.result == UnityWebRequest.Result.Success)
            {
                downloadSuccess = true;
                result = request.downloadHandler.text;
                onCompleted?.Invoke();
            }
        };
    }

}

 

docId와 gid는 각각 해당하는 문자열을 입력하시면 됩니다. 

string googleSheet = string.Empty;
var tsvDownloader = new TSVDownloader();
tsvDownloader.RequestSheetData(docId, gid, () =>
{
    if (tsvDownloader.downloadSuccess)
    {
        googleSheet = tsvDownloader.result;
        Debug.Log(googleSheet);
    }
});

 

실행하면 데이터가 정상적으로 받아지는지 확인할 수 있습니다. 

 

 

 

구글 드라이브의 내용을 수정하고 즉시 데이터를 로드할 수 있으므로, 별도의 파일 관리 과정이 필요 없어 시간을 절약할 수 있습니다.