기기 생성

이 페이지에서는 기기를 만드는 방법을 설명합니다.

시작하기 전에

이 페이지의 정보를 계속 진행하기 전에 다음 작업을 수행하세요.

기기 만들기

다음 예시에서는 기기를 만드는 방법을 보여줍니다.

REST

기기를 만들려면 customer(조직) 이름 및 기기 객체를 사용하여 devices.create()를 호출합니다.

Python HTTP

다음 예시에서는 Python HTTP 라이브러리를 사용하여 기기를 만드는 도우미 함수를 보여줍니다.

"""Example script to use the create method of the Devices API."""
import json
import pprint

from six.moves import urllib

import google.auth.transport.requests
from google.oauth2 import service_account

SCOPES = ['https://www.googleapis.com/auth/cloud-identity.devices']
BASE_URL = 'https://cloudidentity.googleapis.com/v1/'

# Change this to the location of the service account key
SA_FILE = ''

# Enter the administrator to call as here.
ADMIN_EMAIL = ''

if not SA_FILE:
  print('Please specify the location of the service account key file')
if not ADMIN_EMAIL:
  print('Please specify the email of the administrator to call as')

if not SA_FILE or not ADMIN_EMAIL:
  exit(-1)

def create_delegated_credentials(user_email):
  credentials = service_account.Credentials.from_service_account_file(
      SA_FILE,
      scopes=['https://www.googleapis.com/auth/cloud-identity.devices'])

  delegated_credentials = credentials.with_subject(user_email)

  return delegated_credentials

######################################################################
# AUTHENTICATE the service account and retrieve an oauth2 access token

request = google.auth.transport.requests.Request()
dc = create_delegated_credentials(ADMIN_EMAIL)
dc.refresh(request)
print('Access token: ' + dc.token + '\n')

###############################
# Create the Device
header = {
    'authorization': 'Bearer ' + dc.token,
    'Content-Type': 'application/json'
}
body = {
    'serialNumber': 'someSerial',  # the serial number of your device.

    # see values in
    # https://cloud.google.com/identity/docs/reference/rest/v1/devices#DeviceType
    'deviceType': 'LINUX'
}

serialized_body = json.dumps(body, separators=(',', ':'))

request_url = BASE_URL + 'devices'
print('Request URL: ' + request_url)
print('Request body: ' + serialized_body)

serialized_body = json.dumps(body, separators=(',', ':'))
request = urllib.request.Request(request_url, serialized_body, headers=header)
request.get_method = lambda: 'POST'

try:
  contents = urllib.request.urlopen(request)
except urllib.error.HTTPError as e:
  if e.code == 409:
    print('The request was invalid. Perhaps the device is already present?')
  else:
    print('Unknown error occurred: {}', e.code)
  exit(-1)

create_response = json.loads(contents.read())
inner_response = create_response['response']
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(inner_response)