Closed2
Android Management APIを触るためのenterpriseを作るまで
ともあれここから。colabでJupyter Notebookを上から実行して体験できる。
登場人物として
名前 | 説明 |
---|---|
EMMプロバイダ | 「ほげほげMDM」みたいなMDM製品を提供する会社。 |
組織管理者 | 「弊社にMDMを導入するぞ!」という会社の担当者。 |
を区別する必要がある。
これはEMMプロバイダの人がやる仕事。Googleクラウドコンソールで、「ほげほげMDM」に相当する製品登録をする。
↑ここでは、EMMプロバイダの人がGoogleログインする。
ログインしたらこういう画面が表示され、これをcolabにペタっと貼る。
で、次のセル。
単純に実行するだけだと
エラーになる。エラー内容は
HttpError: <HttpError 403 when requesting https://androidmanagement.googleapis.com/v1/signupUrls?projectId=playi-mdm&callbackUrl=https%3A%2F%2Fstorage.googleapis.com%2Fandroid-management-quick-start%2Fenterprise_signup_callback.html&alt=json returned "Caller is not authorized to manage project.". Details: "Caller is not authorized to manage project.">
権限不足?
GoogleクラウドコンソールのほうでIAMユーザ・ロールを追加。
これでサインアップURLの発行がされる。
組織管理者でGoogleログインし、コールバックURLでenterprise識別子が渡される。
現実的には、EMMプロバイダの人がGoogleログインする、なんて考えられない。
サービスアカウントを使ってEnterpriseを作る。
サービスアカウントを作って、アクセスキーを作成
JSONファイルがふってくる
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
service_account_key = {
"type": "service_account",
...(ここにJSONファイルの中身を書く)
...
}
scopes = ['https://www.googleapis.com/auth/androidmanagement']
credentials = ServiceAccountCredentials.from_json_keyfile_dict(service_account_key, scopes)
androidmanagement = build('androidmanagement', 'v1', credentials=credentials)
あとは、最初のEMMプロバイダの人がGoogle認証したときの手順と同じ
無事にサインアップURLが発行された。
このスクラップは2021/11/09にクローズされました