3. Google Sheet와 Google Drive 에 저장. 솔직히 3탄은 방금 이게 될까 싶어서 해봤습니다.
Google 연결에서 몇번의 실패가 있었지만, 결국..
두구두구둥~! 성공했습니다.
그래서 사례글로 남깁니다. 다 휘발되기 전에.
1. AI Studio에서 Front UI와 기능 만들기
아시죠? 그저 무심하게 대충 프롬프트를 넣습니다.
SNS 컨텐츠를 제작하는 앱을 만들고 싶어.
주제와 SNS 채널(Threads, Twitter)를 입력하면 주제에 대한 각 채널별 특징을 살려 컨텐츠로 만들고 이미지도 만들어줘.
구글 스프레드시트와 구글 드라이브에 이미지를 올리고 싶어.
이 앱을 만드는데 필요한 사항들을 나에게 물어서 만들어줘.저는 이렇게만 넣었는데도 묻지도 따지지도 않고~!
이렇게 만들어 줍니다.
하단에 이렇게 구글 연결설정 정보를 넣는 곳이 있습니다.
2. Google ClientI D, Secret 키로 접속 - 실패
처음에는 저에게 Google Cloud console에서 프로젝트를 만들고 Oauth2.0을 위한 여러가지 설정을 하고, Client ID 와 Secret 키를 입력하고 했습니다.
그대로 했는데 애러가 납니다.
원인은 Redirect URL을 넣는 부분에서 해당형식은 http형식도 아니고, .com이나 .org 끝나는 URL이 아니라서 입력부터가 되지 않았습니다.
App Script를 통한 우회의 방법
프롬프트로 또 물어봤습니다.오류 400: invalid_request 요청 세부정보: redirect_uri=storagerelay://blob/?id=auth257481 flowName=GeneralOAuthFlow 이 오류로 더이상 진행이 안되. redirect URL도 Http 형식이 아니라서 google cloud console에 입렵도 안되고, 다른 방법으로 sheet 하고 drive에 업로드 할 수 있는 방법을 알려줘에러 메세지를 주고 이건 안된다 다른 방법이 없는지 물어봤습니다.
아래와 같은 내용으로 App Script를 이용하라고 알려줬습니다.
연동 가이드 (1분 소요)
새 프로젝트 생성 후 아래 코드를 붙여넣으세요.
[배포] > [새 배포] 클릭
유형: 웹 앱 / 액세스 권한: 모든 사용자 선택
생성된 웹 앱 URL을 아래에 입력하세요.
function doPost(e) { var data = JSON.parse(e.postData.contents); var result = "Success"; try { if (data.action === 'appendSheet') { var sheet = SpreadsheetApp.openById(data.spreadsheetId).getSheets()[0]; data.rows.forEach(function(row) { sheet.appendRow(row); }); } else if (data.action === 'uploadDrive') { var folder = DriveApp.getFolderById(data.folderId); var blob = Utilities.newBlob(Utilities.base64Decode(data.imageContent.split(',')[1]), 'image/png', data.fileName); folder.createFile(blob); } } catch (err) { result = "Error: " + err.toString(); } return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.TEXT); }
배포를 버튼을 누르면 인증창이 뜹니다.
주의 할 사항~! 여기서 반드시 인증창에서 advanced 로 진입하셔야 합니다.
이렇게 설정하고, AI Studio Google 설정화면에서 URL과 sheetID, drive ID를 설정하면
Google Drive
Google Sheet에
데이타가 잘 들어는 것을 확인 할 수 있습니다.
배운 점
- 이게 될까 싶은 마음으로 무심하게 해보자.
- 안되는 것에 좌절하지 말고, 길이 없으면 돌아가보자.