권장사항

승인

Google 포토 라이브러리 API에 대한 모든 요청은 인증된 사용자의 승인을 받아야 합니다.

OAuth 2.0의 승인 과정에 대한 세부정보는 다음에 따라 약간 다릅니다. 자세히 알아볼 수 있습니다 다음과 같은 일반적인 프로세스 은(는) 모든 애플리케이션 유형에 적용됩니다.

  1. 다음을 수행하여 승인 프로세스를 준비합니다. <ph type="x-smartling-placeholder">
      </ph>
    • 다음을 사용하여 애플리케이션 등록 Google API 콘솔.
    • Library API를 활성화하고 OAuth 세부정보(예: 클라이언트 ID와 클라이언트 보안 비밀번호가 있어야 합니다 자세한 내용은 시작하기
  2. 사용자 데이터에 액세스하기 위해 애플리케이션은 Google에 특정 액세스 범위에 속하도록 할 수 있습니다
  3. Google은 사용자에게 데이터 일부를 요청할 수 있습니다
  4. 사용자가 승인하면 Google에서 애플리케이션에 액세스 토큰을 제공합니다. 일정 기간이 지나면 만료됩니다
  5. 애플리케이션이 액세스 토큰을 첨부하여 사용자 데이터를 요청합니다. 추가할 수 있습니다.
  6. Google이 요청과 토큰이 유효하다고 판단하면 데이터를 요청할 수 있습니다

애플리케이션에 적합한 범위를 확인하려면 승인을 참조하세요. 범위를 참조하세요.

일부 애플리케이션 유형의 프로세스에는 새 액세스 토큰을 획득할 수 있습니다. 자세한 내용은 자세히 알아보려면 OAuth 2.0을 사용하여 Google API를 참고하세요.

캐싱

데이터를 최신 상태로 유지합니다.

미디어 (예: 썸네일, 사진, 동영상)를 임시로 저장해야 하는 경우 성능상의 이유로 사용량 기준으로 60분 이상 캐시하지 마세요. 가이드라인을 참조하세요.

또한 약 60초 후에 만료되는 baseUrls를 저장해서는 안 됩니다. 합니다.

사용자 라이브러리의 콘텐츠를 고유하게 식별하는 미디어 항목 ID 및 앨범 ID 캐싱 제한에서 제외됩니다 이 ID는 무기한으로 저장할 수 있습니다. (애플리케이션의 개인정보처리방침이 적용됨) 미디어 항목 ID 및 앨범 ID 사용 적절한 엔드포인트를 사용하여 액세스 가능한 URL과 데이터를 다시 검색할 수 있습니다. 대상 자세한 내용은 미디어 가져오기 항목 또는 등록정보 앨범을 선택합니다.

새로고침할 미디어 항목이 많은 경우 미디어 항목을 반환한 검색 매개변수를 받은 다음, 다시 로드하기 위해 쿼리를 다시 제출합니다. 데이터를 수집하는 데 사용됩니다

SSL 액세스

HTTPS는 다음 URL에서 찾을 수 있습니다.

https://photoslibrary.googleapis.com/v1/service/output?parameters

HTTP를 통한 요청은 거부됩니다.

오류 처리

API에서 반환된 오류를 처리하는 방법에 대한 자세한 내용은 API 처리 오류가 표시됩니다.

실패한 요청 재시도

클라이언트는 다음에 설명된 대로 지수 백오프로 5xx 오류 발생 시 다시 시도해야 합니다. 지수 백오프. 최소 지연 시간은 1 s이어야 합니다. 해야 합니다.

429 오류의 경우 클라이언트는 최소 30s 지연 시간으로 다시 시도할 수 있습니다. 기타 모든 경우 오류가 발생하면 재시도가 적용되지 않을 수 있습니다. 요청이 멱등성인지 확인하고 오류 메시지를 참고하세요.

지수 백오프

드물기는 하지만 요청을 처리하는 과정에서 문제가 발생할 수 있습니다. 4XX 또는 5XX HTTP 응답 코드 또는 TCP 연결이 어딘가에서 실패할 수 있음 통신할 수 있습니다 대부분의 경우 합니다. 원래 요청이 실패했을 때 후속 요청이 성공할 수 있습니다. 하지만 Google 서버에 반복적으로 요청을 보내며 루프에 빠지지 않도록 하는 것이 중요합니다. 이 클라이언트와 Google 사이의 네트워크에 과부하를 일으킬 수 있으며 많은 당사자에게 문제를 일으킬 수 있습니다

따라서 시도 사이의 지연 시간을 늘려 재시도하는 것이 훨씬 좋습니다. 일반적으로 지연 시간은 각 시도의 배수로 증가합니다. 지수 백오프가 있습니다.

또한 애플리케이션에 더 높은 재시도 코드가 없는지 주의해야 합니다. 빠르게 연속해서 반복되는 요청으로 유도하는 호출 체인입니다.

적절한 Google API 사용

잘못 설계된 API 클라이언트는 Google 서버에 저장됩니다. 이 섹션에는 API 클라이언트입니다 이러한 권장사항을 따르면 의도치 않은 API 악용으로 인해 애플리케이션이 차단되는 경우

동기화된 요청

Google API에 대한 다수의 동기화된 요청은 배포된 서비스 거부 (DDoS) 공격을 차단하여 처리됩니다 이를 방지하려면 API 요청이 클라이언트 간에 동기화되지 않습니다.

예를 들어 현재 시간의 시간을 표시하는 애플리케이션을 가정해 보겠습니다. 사용할 수 있습니다 이 애플리케이션은 클라이언트 운영체제에서 알람을 설정할 가능성이 높습니다. 표시된 시간이 이(가) 업데이트되었습니다. 애플리케이션은 처리 중에 API를 호출하면 안 됩니다. 알 수 있습니다.

고정 알람에 대한 응답으로 API를 호출하면 API 호출은 분 시작 부분에 동기화되며, 서로 다른 배포하는 데 사용할 수 있습니다. 제대로 설계되지 않음 이렇게 하는 애플리케이션은 평소 수준의 60배에 달하는 트래픽 급증을 유발합니다. 로 설정합니다.

대신 한 가지 좋은 설계는 두 번째 알람을 무작위로 선택합니다. 이 두 번째 알람이 실행되면 애플리케이션에서 저장하고 결과를 저장합니다 시작 시 디스플레이를 업데이트하려면 분 단위로 집계하면 애플리케이션은 API를 다시 사용할 수 있습니다. 이 방법을 사용하면 API 호출이 시간이 지남에 따라 고르게 분산됩니다. 또한 디스플레이가 업데이트될 때 API 호출은 렌더링을 지연시키지 않습니다.

분 시작 외에 다른 일반적인 동기화 시간은 한 시간의 시작과 시작 부분에 있는 광고를 타겟팅하지 않도록 주의해야 합니다. 매일 자정에 일어날 수 있습니다.