テンプレートのアクションリンクを定義し、フィード要素を使用して投稿する
ステップ 1: アクションリンクテンプレートを作成する
ラジオボタンと同様に、アクションリンクはグループ内にネストする必要があります。グループ内のアクションリンクは、グループのプロパティを共有し、相互に排他的です (クリックできるのは、グループ内の 1 つのアクションリンクのみです)。1 つのアクションリンクを定義する場合でも、アクションリンクグループに含める必要があります。アクションリンクテンプレートおよびアクションリンクグループテンプレートでも同様です。
この例では、アクションリンクグループ内の 1 つのアクションリンクを使用します。ユーザがこのアクションリンクをクリックすると、Connect REST API に対して HTTP POST 要求が実行され、フィード項目が Chatter に投稿されます。[HTTP リクエストボディ] 項目は、新しいフィード項目のテキストなど、[アクション URL] リソースのリクエストボディを保持します。この例では、新しいフィード項目にテキストしか含まれていませんが、添付ファイルやアンケートなどの他の機能やアクションリンクも含めることができます。
- [設定] から、[クイック検索] ボックスに「アクションリンクテンプレート」と入力し、[アクションリンクテンプレート] を選択します。
- 新しいアクションリンクグループテンプレートで次の値を使用します。
項目 値 名前 ドキュメントの例 開発者名 Doc_Example カテゴリ プライマリアクション 実行可 ユーザごとに 1 回 - 新しいアクションリンクテンプレートで次の値を使用します。
項目 値 アクションリンクグループテンプレート ドキュメントの例 アクションの種類 Api アクション URL /services/data/{!Bindings.ApiVersion}/chatter/feed-elements ユーザ表示設定 全員に表示 HTTP リクエストボディ {"subjectId": "{!Bindings.SubjectId}","feedElementType": "FeedItem","body": {"messageSegments": [{"type": "Text","text": "{!Bindings.Text}"}]}} HTTP のヘッダー Content-Type: application/json 位置 0 表示ラベルキー 投稿 HTTP メソッド POST - アクションリンクグループテンプレートに戻り、[公開済み] を選択します。[保存] をクリックします。
アクションリンクグループテンプレート ID をメモし、ステップ 3 に進みます。
ステップ 2: アクションリンクグループテンプレート ID を取得する
[設定] でアクションリンクグループテンプレートへのアクセス権がある場合は、アクションリンググループテンプレート ID を取得してステップ 3 に進むことができます。
- リソース
-
1/services/data/v33.0/query - HTTP メソッド
- GET
- 要求のパラメータ
- q — SOQL クエリ文字列。
- 要求パラメータの例
-
1GET /services/data/v50.0/query?q=SELECT+id+FROM+ActionLinkGroupTemplate+WHERE+DeveloperName='Doc_Example' - cURL の例
-
1curl https://instance_name/services/data/v50.0/query?q=SELECT+id+FROM+ActionLinkGroupTemplate+ 2WHERE+DeveloperName='Doc_Example' -H "Authorization: Bearer token" - レスポンスボディ
- クエリ結果レコードの配列。
-
1{ 2 "totalSize":1, 3 "done":true, 4 "records":[ 5 { 6 "attributes":{ 7 "type":"ActionLinkGroupTemplate", 8 "url":"/services/data/v50.0/sobjects/ActionLinkGroupTemplate/07gD00000004CEhIAM" 9 }, 10 "Id":"07gD00000004CEhIAM" 11 } 12 ] 13}
ステップ 3: アクションリンクグループをインスタンス化する
- リソース
- /connect/action-link-group-definitions
- HTTP メソッド
- POST
- リクエストボディ
-
Action Link Group Definition Input
この Action Link Group Definition Input リクエストボディには templateBindings プロパティがあり、これは Action Link Template Binding Input リクエストボディのコレクションです。この例では、Action Link Template Binding Input リクエストボディに 3 つのテンプレートバインドがあります。
- リクエストボディの例
-
1POST /services/data/v50.0/connect/action-link-group-definitions 2{ 3 "templateId":"07gD00000004CEhIAM", 4 "templateBindings" : [ 5 { 6 "key":"ApiVersion", 7 "value":"v33.0" 8 }, 9 { 10 "key":"Text", 11 "value":"This post was created by an API Action Link!" 12 }, 13 { 14 "key":"SubjectId", 15 "value":"me" 16 } 17 ] 18} - cURL を使用した要求の例
-
cURL を使用して要求を実行するには、次のように入力し、Developer Edition インスタンス名および OAuth 情報を置き換えます。
1curl -H "X-PrettyPrint: 1" -H "Content-Type: application/json" -d '{ "templateId":"07gD00000004CEhIAM", 2"templateBindings" : [ { "key":"ApiVersion", "value":"v50.0" }, 3{ "key":"Text", "value":"This post was created by an API Action Link!" }, { "key":"SubjectId", "value":"me" } ] }' 4 -X POST "https://instance_name/services/data/v50.0/connect/action-link-group-definitions" 5 -H 'Authorization: OAuth 00DRR0000000N0g!RWaPj94O6yOD.lfjB9LqMk' --insecure - レスポンスボディ
- Action Link Group Definition
ステップ 4: アクションリンクグループをフィード要素に関連付けて投稿する
- リソース
- /chatter/feed-elements
- HTTP メソッド
- POST
- リクエストボディ
-
Feed Item Input
この Feed Item Input リクエストボディには body プロパティがあり、これは Message Body Input リクエストボディです。この例では、Message Body Input リクエストボディには messageSegments プロパティがあり、これに 1 つの Message Segment Input: Text リクエストボディがあります。
この Feed Item Input リクエストボディには capabilities プロパティもあり、これは Feed Element Capabilities Input リクエストボディです。この例では、Feed Element Capabilities Input リクエストボディには associatedActions プロパティがあり、これは Associated Actions Capability Input リクエストボディです。
- リクエストボディの例
-
ステップ 3 の Action Link Group Definition レスポンスの id からアクションリンクグループ ID を取得します。
1POST /services/data/v50.0/chatter/feed-elements 2 3{ 4 "body": { 5 "messageSegments": [ 6 { 7 "type": "Text", 8 "text": "Click to post a feed item." 9 } 10 ] 11 }, 12 "subjectId": "me", 13 "feedElementType": "feedItem", 14 "capabilities": { 15 "associatedActions": { 16 "actionLinkGroupIds": ["0AgRR0000004CTr0AM"] 17 } 18 } 19} - cURL を使用した要求の例
-
cURL を使用して要求を実行するには、次のように入力し、ステップ 2 で返されたアクションリンクグループ ID、Developer Edition インスタンス名、および OAuth 情報を置き換えます。
1curl -H "X-PrettyPrint: 1" -H "Content-Type: application/json" -d '{ "body": { "messageSegments": [ { "type": "Text", "text": "Click to post a feed item." } ] }, "subjectId": "me", "feedElementType": "feedItem", "capabilities": { "associatedActions": { "actionLinkGroupIds": ["0AgRR0000004CTr0AM"] } } }' -X POST "https://instance_name/services/data/v50.0/chatter/feed-elements" -H 'Authorization: OAuth OOARoAQETAKEIddnMWXh462dprYAgRWaPj94O6yOD' --insecure - レスポンスボディ
- Feed Item