2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Microsoft FlowからGraph APIを叩く際の"@odata.id"の扱い方について

Last updated at Posted at 2019-07-02

本日会社で指令を受けまして。FlowとGraphを使ってTeamsのチームを自動で作りたいということになり色々やっていました。
その中でチームの、正確にはグループの所有者を追加する必要が出ました。
そこで少しは手間取った割に日本語情報が見当たらなかったので。小ネタですが。

Graphから所有者を追加するのはこのAPIです。グループ所有者の追加

これをFlowから叩くには以下のJSONをバッチのBODYに入れてやる(バッチについての詳細は過去記事をご覧下さい)。
コメント 2019-07-02 215917.png

{
  "requests": [
    {
      "url": "/groups/@{body('Add_Group').responses[0].body.id}/owners/$ref",
      "method": "POST",
      "id": 2,
      "headers": {
        "Content-Type": "application/json"
      },
      "body": {
        "@odata.id": "https://graph.microsoft.com/v1.0/users/(ユーザーの識別子が入る)"
      }
    }
  ]
}

その際上記のまま書いてBodyに入れると
コメント 2019-07-02 215930.png

テンプレートの検証に失敗しました: '行 '1'、列 '3323' のテンプレート アクション 'Add_Owner' は無効です: "テンプレート言語式 'odata.id' を解析できません: 必要なトークンは 'LeftParenthesis' で、実際は 'Dot' です。"。'。

というエラーが出ます。
何が一体何ならやら…と思って調べていくと "@odata.id" が問題だった。

調べた結果
コメント 2019-07-02 215952.png

"@@odata.id": "https://graph.microsoft.com/v1.0/users/(ユーザーの識別子が入る)"

という風に@(アットマーク)を重ねて書いてから保存すると上手くいきました。
保存すると重ねたアットマークはまた一つに戻る。でも動作は上手くいきます。
これ、Flowのバグなのでしょうか?元に戻るんだったら最初から一つだけでも許容してくれたらとも思うのですが…

ご参考になれば幸いです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?