flutter에서 google Photo API로 제 구글 포토 계정에 업로드 되어 있는 이미지를 flutter로 가져오고 개발 중인 flutter 앱에 보이도록 해보았습니다. 아래가 작동중인 앱을 캡쳐한 gif입니다.
아래는 배운점 입니다.
1. 한번의 request로 원하는 정보를 한번에 다받아올 수 없었습니다.
google API문서에 받아오는 정보량에 대해 특별히 얘기가 없어서 filter를 적용하지 않으면 저장된 이미지를 한번에 다 가져올 거라 예상했지만 그렇지 않았습니다.
제 계정에 10000개 이상의 이미지가 업로드 되어 있는데 pageSize 100으로 설정해도 한번에 73개의 이미지 밖에 가져오지 않더군요.
nextPageToken을 써도 다음 페이지가 없는 걸로 나왔습니다.
다만 datefilter를 쓰면 해당 date의 이미지를 다 가져올 수 있는 것처럼 보였습니다. 그래서 한번에 이미지를 다 가져와서 가지고 있다가 보여주는 방식이 아니라 날짜를 선택했을 때 해당 날짜의 이미지만 가져와서 보여주는 방식으로 만들었습니다.
이미지에 대한 링크는 저장해두었다가 사용해서 request-response에 걸리는 시간을 줄일 수 있을 것 같은데 나중에 해보려 합니다.
var request = {};
request['pageSize'] = 100;
request['filters'] = {"dateFilter" : {'dates':{'year' : year, 'month' : month, 'day' : day}}};
var request_json = json.encode(request);
final response = await http.post(
Uri.parse("https://photoslibrary.googleapis.com/v1/mediaItems:search"),
body: request_json,
headers: await googleAccountManager.currentUser!.authHeaders,
);
print("page token : ${jsonDecode(response.body)['nextPageToken']}");
2. 이것저것 구현하다보니 코드가 잡다해지고 있습니다. 흑흑..
'개발' 카테고리의 다른 글
20221021_flutter animation 만들기 (0) | 2022.10.21 |
---|---|
20221018_개발 진행 상황 (0) | 2022.10.18 |
20221003_구글 포토에서 이미지 가져오기 (0) | 2022.10.03 |
20220917-일한 시간 분석 개선 (0) | 2022.09.27 |
하고 싶은 일 (0) | 2022.09.25 |
댓글