OAuth

참고: 이 문서에서는 다른 당사자의 데이터에 대한 액세스를 요청하는 데 사용되는 3-Legged OAuth2 흐름을 설명합니다. 클라이언트의 판매자 센터 계정에 액세스해야 하는 서드 파티 애플리케이션을 개발하는 경우 이 인증 흐름을 사용합니다. 자체 판매자 센터 계정에만 액세스하는 사내 애플리케이션을 개발하는 경우 서비스 계정 가이드를 참고하세요.

애플리케이션이 Google Content API for Shopping으로 전송하는 모든 요청에는 승인 토큰이 포함되어야 합니다. 이 토큰은 Google에 애플리케이션 식별 정보를 제공하기도 합니다.

승인 프로토콜 정보

요청을 승인하려면 애플리케이션에서 OAuth 2.0을 사용해야 합니다. 다른 승인 프로토콜은 지원되지 않습니다. 애플리케이션에서 Google 계정으로 로그인을 사용하는 경우 승인의 일부 절차는 자동으로 처리됩니다.

OAuth 2.0을 사용하여 요청 승인

Google Content API for Shopping에 대한 모든 요청은 인증된 사용자의 승인을 받아야 합니다.

OAuth 2.0의 승인 과정 세부사항('흐름')은 만들고 있는 애플리케이션의 종류에 따라 다소 다릅니다. 다음의 일반적인 과정은 모든 애플리케이션 유형에 적용됩니다.

  1. 애플리케이션을 만들 때 Google API 콘솔을 사용하여 애플리케이션을 등록합니다. 이렇게 하면 Google에서 클라이언트 ID 및 클라이언트 보안 비밀번호와 같이 나중에 필요한 정보를 제공합니다.
  2. Google API 콘솔에서 Google Content API for Shopping을 활성화합니다. API 콘솔의 목록에 이 API가 없다면 이 단계를 건너뜁니다.
  3. 애플리케이션에서 사용자 데이터에 액세스해야 하는 경우 Google에 특정 액세스 범위를 요청합니다.
  4. Google에서 사용자에게 애플리케이션의 데이터 요청을 승인할 것인지 물어보는 동의 화면을 표시합니다.
  5. 사용자가 승인하면 Google에서 애플리케이션에 제한 시간이 있는 단기 액세스 토큰을 제공합니다.
  6. 애플리케이션에서 액세스 토큰을 첨부하여 사용자 데이터를 요청합니다.
  7. Google에서 사용자의 요청과 토큰이 유효하다고 판단하면 요청된 데이터를 반환합니다.

일부 흐름에는 새로운 액세스 토큰을 얻기 위해 갱신 토큰을 사용하는 등의 추가 단계가 포함됩니다. 다양한 유형의 애플리케이션 흐름에 관한 자세한 내용은 Google의 OAuth 2.0 문서를 참조하세요.

다음은 Google Content API for Shopping의 OAuth 2.0 범위 정보입니다.

범위 의미
https://www.googleapis.com/auth/content 읽기/쓰기 액세스

OAuth 2.0을 사용하여 액세스를 요청하려면 애플리케이션에 범위 정보와 함께 애플리케이션을 등록할 때 Google에서 제공하는 정보(예: 클라이언트 ID, 클라이언트 보안 비밀)가 필요합니다.

팁: Google API 클라이언트 라이브러리가 사용자를 대신하여 일부 승인 과정을 처리할 수 있습니다. 여러 가지 프로그래밍 언어로 제공되므로 자세한 내용은 라이브러리 및 샘플 페이지를 참조하세요.

OAuth 범위 가져오기

범위 선택 관련 문제를 방지하려면 점진적 승인을 사용하는 것이 좋습니다.

두 개 이상 요청하는 경우 앱의 동의 화면에서 기본적으로 OAuth 범위가 선택되지 않습니다. 앱에서 사용자에게 동의 화면을 표시할 때 사용자는 각 범위를 수동으로 선택하여 액세스를 승인해야 합니다.

OAuth 요청의 응답을 확인하여 적절한 범위를 받았는지 확인합니다.

자세한 내용은 OAuth 2.0 정책 페이지를 참고하세요.

앱 인증 요청

Content API에 액세스하는 모든 앱은 OAuth 인증 검토 절차를 거쳐야 합니다. Content API에 액세스하는 인증되지 않은 앱 사용자는 경고를 받게 되며 앱의 기능이 제한됩니다. 이 맥락에서 앱은 Google Cloud에서 고유한 OAuth 2.0 클라이언트 ID로 정의됩니다.

일반적으로 확인 절차가 완료되기까지 영업일 기준 3~5일이 소요됩니다. 프로세스에 관해 자세히 알아보고 인증 요청을 제출하려면 앱 인증을 참조하세요.

이 정책은 모든 앱에 적용되며 비즈니스 중단을 방지하기 위해 모든 앱은 빠른 시일 내에 Google OAuth 확인 절차를 거치는 것이 좋습니다.

승인 예시

다음 코드는 웹 애플리케이션용 OAuth 2.0을 사용하여 클라이언트를 구성하고 요청을 승인하는 방법을 보여줍니다. 다른 언어는 샘플 및 라이브러리 페이지에서 제공됩니다.

PHP

이 예에서는 웹 애플리케이션 흐름을 사용합니다. 리디렉션 URI는 이 PHP 페이지의 URI여야 합니다.

<?php
require_once 'Google/Client.php';

session_start();

$client = new Google_Client();
$client->setApplicationName('Sample Content API application');
$client->setClientId('YOUR_CLIENT_ID');
$client->setClientSecret('YOUR_CLIENT_SECRET');
$client->setRedirectUri('YOUR_REDIRECT_URI');
$client->setScopes('https://www.googleapis.com/auth/content');

if (isset($_SESSION['oauth_access_token'])) {
  $client->setAccessToken($_SESSION['oauth_access_token']);
} elseif (isset($_GET['code'])) {
  $token = $client->authenticate($_GET['code']);
  $_SESSION['oauth_access_token'] = $token;
} else {
  header('Location: ' . $client->createAuthUrl());
  exit;
}

이제 인증을 마쳤으므로 API 요청을 수행할 서비스 객체를 만들 수 있습니다.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);