【Unity】Googleスプレッドシートの値を取得する・2
やること
非公開設定のスプレッドシートからセルの内容を読み込む
環境:Unity2019.2.17、UniTask、Utf8Json
参考:前の記事
手順
1. クライアントID、クライアントシークレット発行
GoogleCloudPlatformでクライアントIDとクライアントシークレットを作る
2.コード
async void Start() { // リフレッシュトークンがない場合は認証してリフレッシュトークンを取得し、保存しておく var client = "クライアントId"; var secret = "クライアントシークレット"; var scope = "https://www.googleapis.com/auth/spreadsheets.readonly"; var refreshToken = await GoogleApi.RequestRefreshToken(scope, client, secret); // リフレッシュトークンからアクセストークンを取得 var accessToken = await GoogleApi.RequestAccessToken(refreshToken.refresh_token, client, secret); // スプレッドシート取得 var sheetId = "シートId"; var sheet = await GoogleApis.SpreadSheet.LoadByAccessTokenAsync(accessToken.access_token, sheetId, "シート1"); Debug.Log(sheet.JsonString); }
リフレッシュトークンを保存する際には暗号化をかけておきましょう。
Windows環境のみ対応。スマホアプリの場合、認証処理はリダイレクト処理をURIスキーマ経由にすることでうまくいく(はず)。Macは知らない
ひっかかりどころ
認証時に警告が出たりします。