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 범위는 2개 이상 요청하는 경우 앱의 동의 화면에서 기본적으로 선택 해제됩니다. 앱에서 사용자에게 동의 화면을 표시할 때 액세스 승인을 위해 각 범위를 수동으로 선택해야 합니다.

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);