かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

az コマンドでアクセストークンをゲットする

流石のツイート。流石No1。

ということで、備忘録もかねて自分でもここで紹介されているコマンドを使って Graph API にアクセスするためのキーをとってみたいと思います。

> az account get-access-token --resource https://graph.microsoft.com
{
  "accessToken": "見ちゃダメ",
  "expiresOn": "2020-01-28 10:31:44.795950",
  "subscription": "見ちゃダメ",
  "tenant": "見ちゃダメ",
  "tokenType": "Bearer"
}

取れた!試しに MS Graph API 叩いてみましょう。

最近、簡単な API 叩くときには VS Code の REST Client 使ってるのですが手軽で便利です。

blog.okazuki.jp

以下のような感じで書くと…

GET https://graph.microsoft.com/v1.0/me
Authorization: Bearer ここにさっき手に入れた accessToken の値を入れる
Content-Type: application/json

こんな結果が返ってきました。ばっちり。

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
request-id: xxxxx
client-request-id: xxxxx
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Japan East","Slice":"SliceC","Ring":"2","ScaleUnit":"002","RoleInstance":"AGSFE_IN_3"}}
OData-Version: 4.0
Strict-Transport-Security: max-age=31536000
Date: Tue, 28 Jan 2020 00:37:15 GMT
Connection: close
Content-Length: 429

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "businessPhones": [
    "秘密"
  ],
  "displayName": "Kazuki Ota",
  "givenName": "Kazuki",
  "jobTitle": "PFE",
  "mail": "秘密ではないけど、ここには書かない",
  "mobilePhone": "秘密",
  "officeLocation": "TOKYO-SHINAGAWA/24DFS",
  "preferredLanguage": null,
  "surname": "Ota",
  "userPrincipalName": "秘密ではないけど、ここには書かない",
  "id": "GUID が書いてあったよ"
}

いいね!ばっちり!

まとめ

以下のブログは今後もしっかりウォッチしておこうと思いました。

blog.azure.moe