Closed2

Android Management APIを触るためのenterpriseを作るまで

Yusuke IwakiYusuke Iwaki

ともあれここから。colabでJupyter Notebookを上から実行して体験できる。

https://developers.google.com/android/management/quickstart

登場人物として

名前 説明
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識別子が渡される。

Yusuke IwakiYusuke Iwaki

現実的には、EMMプロバイダの人がGoogleログインする、なんて考えられない。
サービスアカウントを使ってEnterpriseを作る。

https://developers.google.com/android/management/service-account



サービスアカウントを作って、アクセスキーを作成


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にクローズされました