私は Azure Logic Apps をいじり、Pocket (ReadItLater) の記事を取得して、好みのタスク マネージャーで新しいタスクを作成できるようにしています。私は 2 つの HTTP コネクタを持っています (1 つは Pocket API を使用した取得操作用で、もう 1 つは Todoist (私の好みのタスク マネージャー) へのデータの投稿用)。
記事を取得すると、応答は次のようになります (読みやすいように、以下のいくつかのプロパティを削除しています)。
{
"statusCode": 200,
"headers": {
"pragma": "no-cache",
"status": "200 OK"
},
"body": {
"status": 1,
"complete": 1,
"list": {
"586327616": {
"item_id": "586327616",
"resolved_id": "586327616",
"given_url": "http://kenwheeler.github.io/slick/?utm_source=hackernewsletter&utm_medium=email&utm_term=design&mc_cid=58c9499fa2&mc_eid=3aaf6c4e47",
"given_title": "slick - the last carousel you'll ever need",
"time_added": "1396652224",
"time_updated": "1405156517",
"resolved_title": "slick",
"resolved_url": "http://kenwheeler.github.io/slick/?utm_source=hackernewsletter&utm_medium=email&utm_term=design&mc_cid=58c9499fa2&mc_eid=3aaf6c4e47",
"excerpt": "Add slick.js before your closing <body> tag, after jQuery (requires jQuery 1.7 +) <script type=\"text/javascript\" src=\"slick/slick.min.",
"word_count": "22"
}
}
}
}
ここで、上記の応答を解析して、個々の記事のプロパティ (つまり、resolved_title) を取得したいと考えています。ここでの問題は、リスト「586327616」の下のオブジェクトが動的で、記事ごとに変化することです。これをロジック アプリの式として解析できないようです。ロジック アプリでの現在のアクションは次のようになります。
"postToTodoist": {
"conditions": [
{
"expression": "@equals(outputs('getPocketArticles')['statusCode'], 200)"
},
{
"dependsOn": "getPocketArticles"
}
],
"inputs": {
"body": "@{outputs('getPocketArticles')['body']['list'][0]['resolved_title']}",
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"method": "POST",
"repeat": {},
"uri": "https://todoist.com/API/v6/add_item"
},
"type": "Http"
}
式については、応答を文字列に変換し、合体を使用し、インデックスを使用してアクセスしようとしましたが、何も機能していないようです。エラーでは、利用可能なプロパティが何であるかを教えてくれます。
{"code":"InvalidTemplate","message":"Unable to process template language expressions in action 'postToTodoist' inputs at line '1' and column '11': 'The template language expression 'coalesce(body('getPocketArticles')['list']).resolved_title' cannot be evaluated because property 'resolved_title' doesn't exist, available properties are '586327616'. Please see https://aka.ms/logicexpressions for usage details.'."}
プロパティの名前を知らずに式を構築することはできないと思いますが、誰か似たようなことをした人はいますか?