我正在使用设备的序列号作为参考,通过 Google Admin Directory API 检索 ChromeOS 设备 MAC 地址,并通过
apiclient
.
service = discovery.build('admin', 'directory_v1', developerKey=settings.API_KEY)
以下是 ChromeOS 设备可用的调用;我的问题是我需要一个设备 ID 才能执行以下操作:
service.chromeosdevices().get(customerId=settings.CID, deviceId=obtained_id, projection=None).execute()
我可以通过以下格式发送 GET 查询:
https://www.googleapis.com/admin/directory/v1/customer/my_customer/devices/chromeos?projection=full&query=id:" + serial + "&orderBy=status&sortOrder=ascending&maxResults=10", "GET")
...但我试图避免使用 OAuth2,而只使用我的 API 密钥。传递key
请求GET
也不起作用,因为它仍然返回“需要登录”通知。
如何将上述查询压缩成apiclient
友好的格式?我通过上述调用找到的唯一选择是请求我们拥有的每台设备(通过list
),然后筛选大量数据以获取匹配的序列号,这似乎很愚蠢和过度。
我确实注意到我可以调用apiclient.http.HttpRequests
,但我也找不到通过它传递 API 密钥的方法。有new_batch_http_request
,但我无法从文档中辨别出如何简单地将 URL 传递给它。
谢谢!