Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오브젝트 풀
- Dependency Injection
- Render Mode
- Canvas Scaler
- unity
- 데이터 형식
- 콘솔 앱
- Abstract Factory Pattern
- github desktop
- 유니티
- 개발
- 추상 팩토리 패턴
- 테이블 데이터
- Di
- 게임 디자인 패턴
- Visual Studio Installer
- 기술면접
- 프로젝트 생성
- New Input System
- 구글 스프레드 시트
- C#
- 상태 패턴
- Unity 기술면접
- MVP 패턴
- 이벤트 버스
- Object Pool
- 의존성 주입
- 구글플레이콘솔
- 스타일 지침
- event bus
Archives
- Today
- Total
DevDino
[Unity] 구글 스프레드 시트 TSV 파일 로드하기 본문
구글 드라이브를 활용하여 공유된 데이터를 로드해보도록 하겠습니다.
우선 구글 스프레드 시트는 접근 가능한 링크를 가져야 합니다.


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

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


구글 드라이브의 내용을 수정하고 즉시 데이터를 로드할 수 있으므로, 별도의 파일 관리 과정이 필요 없어 시간을 절약할 수 있습니다.
'Unity' 카테고리의 다른 글
| [Unity] 한정된 자원으로 무수한 스크롤 뷰 나타내기(셀 재활용) (0) | 2024.08.27 |
|---|---|
| [Unity] 계층 뷰에서 바로 프리팹 만드는 메뉴 만들기 (0) | 2024.05.13 |
| [Unity] 깃허브에 올릴 때 한글이 깨지는 현상 (0) | 2024.04.10 |
| [Unity] 모바일 다양한 해상도 대응하기 (0) | 2024.04.06 |
| [Unity] 씬뷰와 게임뷰 똑같이 배치하기 (0) | 2024.04.06 |