Creating devices

This page explains how to create devices.

Before you begin

Perform the following tasks before proceeding with the information on this page:

Creating a device

The following examples shows you how to create a device.

REST

To create a device, call devices.create() with the name of the customer (organization) and a Device object .

Python HTTP

The following example shows a helper function to create a device using the Python HTTP library:

  """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 
 ) 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: